Zelda Classic Coverage Report


Directory: src/
File: src/subscr.cpp
Date: 2023-08-19 03:06:52
Exec Total Coverage
Lines: 1243 2077 59.8%
Functions: 41 53 77.4%
Branches: 962 1752 54.9%

Line Branch Exec Source
1 //--------------------------------------------------------
2 // ZQuest Classic
3 // by Jeremy Craner, 1999-2000
4 //
5 // subscr.cc
6 //
7 // Subscreen code for zelda.cc
8 //
9 //--------------------------------------------------------
10
11 #include "subscr.h"
12 #include "base/zapp.h"
13 #include "base/qrs.h"
14 #include "base/dmap.h"
15 #include "tiles.h"
16 #include "base/zsys.h"
17 #include "base/util.h"
18 #include "zc/hero.h"
19 #include "gamedata.h"
20 #include "items.h"
21 #include <stdio.h>
22 #include <string.h>
23 #include "base/mapscr.h"
24 #include "base/misctypes.h"
25
26 using namespace util;
27
28 bool show_subscreen_dmap_dots=true;
29 bool show_subscreen_numbers=true;
30 bool show_subscreen_items=true;
31 bool show_subscreen_life=true;
32 bool new_sel=false;
33
34 extern sprite_list guys, items, Ewpns, Lwpns, Sitems, chainlinks, decorations;
35 extern HeroClass Hero;
36 extern FFScript FFCore;
37
38 subscreen_group *current_subscreen_active;
39 subscreen_group *current_subscreen_passive;
40
41 subscreen_group custom_subscreen[MAXCUSTOMSUBSCREENS];
42
43 static const int32_t notscrolling = sspUP | sspDOWN;
44 static const int32_t pos = notscrolling | sspSCROLLING;
45
46 subscreen_object z3_active_a[80]=
47 {
48 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
49 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
50 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
51 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
52 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
53 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
54 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
55 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
56 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
57 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
58 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
59 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
60 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
61 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
62 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
63 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
64 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
65 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
66 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
67 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
68 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
69 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
70 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
71 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
72 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
73 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
74 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
75 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
76 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
77 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
78 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
79 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
80 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
81 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
82 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
83 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
84 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
85 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
86 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
87 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
88 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
89 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
90 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
91 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
92 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
93 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
94 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
95 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
96 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
97 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
98 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
99 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
100 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
101 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
102 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
103 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
104 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
105 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
106 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
107 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
108 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
109 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
110 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
111 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
112 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
113 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
114 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
115 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
116 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
117 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
118 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
119 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
120 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
121 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
122 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
123 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
124 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
125 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
126 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
127 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
128 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
129 };
130 subscreen_object z3_active_ab[82]=
131 {
132 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
133 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
134 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
135 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
136 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
137 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
138 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
139 { sso2X2FRAME, pos, 8, 0, 19, 12, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
140 { sso2X2FRAME, pos, 8, 96, 19, 9, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
141 { sso2X2FRAME, pos, 168, 0, 10, 6, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
142 { sso2X2FRAME, pos, 168, 48, 10, 7, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
143 { sso2X2FRAME, pos, 168, 104, 10, 8, 8, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
144 { ssoCURRENTITEM, pos, 176, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_sword, 1, 15, 14, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
145 { ssoCURRENTITEM, pos, 200, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
146 { ssoCURRENTITEM, pos, 224, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
147 { ssoCURRENTITEM, pos, 200, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
148 { ssoCURRENTITEM, pos, 28, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
149 { ssoCURRENTITEM, pos, 52, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
150 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
151 { ssoCURRENTITEM, pos, 100, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
152 { ssoCURRENTITEM, pos, 124, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
153 { ssoCURRENTITEM, pos, 28, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
154 { ssoCURRENTITEM, pos, 52, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
155 { ssoCURRENTITEM, pos, 76, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
156 { ssoCURRENTITEM, pos, 100, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
157 { ssoCURRENTITEM, pos, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_quiver, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
158 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
159 { ssoCURRENTITEM, pos, 32, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bowandarrow, 1, 0, 10, 5, 15, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
160 { ssoCOUNTER, pos, 44, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
161 { ssoCURRENTITEM, pos, 56, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 1, 11, 6, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
162 { ssoCURRENTITEM, pos, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 2, 12, 7, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
163 { ssoCURRENTITEM, pos, 104, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 3, 13, 8, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
164 { ssoCOUNTER, pos, 116, 26, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
165 { ssoCURRENTITEM, pos, 128, 16, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 4, 14, 9, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
166 { ssoCURRENTITEM, pos, 32, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 5, 0, 10, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
167 { ssoCURRENTITEM, pos, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 6, 1, 11, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
168 { ssoCOUNTER, pos, 68, 50, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 0, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
169 { ssoCURRENTITEM, pos, 80, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 7, 2, 12, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
170 { ssoCURRENTITEM, pos, 104, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 8, 3, 13, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
171 { ssoCURRENTITEM, pos, 128, 40, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 9, 4, 14, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
172 { ssoCURRENTITEM, pos, 32, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 10, 5, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
173 { ssoCURRENTITEM, pos, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 6, 1, 10, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
174 { ssoCURRENTITEM, pos, 80, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 12, 7, 2, 11, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
175 { ssoCURRENTITEM, pos, 104, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 13, 8, 3, 12, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
176 { ssoCURRENTITEM, pos, 128, 64, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 14, 9, 4, 13, 15, 0, 0, 0, 0, 0, 0, 0, NULL },
177 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
178 { ssoLINE, pos, 177, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
179 { ssoLINE, pos, 181, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
180 { ssoLINE, pos, 185, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
181 { ssoLINE, pos, 189, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
182 { ssoLINE, pos, 193, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
183 { ssoLINE, pos, 197, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
184 { ssoLINE, pos, 201, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
185 { ssoLINE, pos, 205, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
186 { ssoLINE, pos, 209, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
187 { ssoLINE, pos, 213, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
188 { ssoLINE, pos, 217, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
189 { ssoLINE, pos, 221, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
190 { ssoLINE, pos, 225, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
191 { ssoLINE, pos, 229, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
192 { ssoLINE, pos, 233, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
193 { ssoLINE, pos, 237, 139, 2, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
194 { ssoBUTTONITEM, pos, 200, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
195 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
196 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
197 { ssoCOUNTER, pos, 212, 18, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
198 { ssoSELECTEDITEMNAME, pos, 173, 24, 70, 16, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfPROP, sstaCENTER, sstsSHADOWED, 1, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
199 { ssoRECT, pos, 24, 1, 16, 6, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
200 { ssoTEXT, pos, 24, 1, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"ITEM" },
201 { ssoTILEBLOCK, pos, 16, 73, 1, 1, 1, 0, 0, 0, 0, 0, 28201, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
202 { ssoTEXT, pos, 17, 105, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"INVENTORY" },
203 { ssoTEXT, pos, 177, 57, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"TRIFORCE" },
204 { ssoTEXT, pos, 177, 113, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfZ3SMALL, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"EQUIPMENT" },
205 { ssoTRIFORCE, pos, 192, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
206 { ssoTRIFORCE, pos, 208, 64, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
207 { ssoTRIFORCE, pos, 176, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
208 { ssoTRIFORCE, pos, 224, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
209 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 2, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
210 { ssoTRIFORCE, pos, 192, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 1, 1, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
211 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 3, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
212 { ssoTRIFORCE, pos, 208, 80, 1, 1, ssctMISC, sscsTRIFORCECSET, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
213 { ssoTILEBLOCK, pos, 16, 8, 1, 1, 1, 0, 0, 0, 0, 0, 28200, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
214 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
215 };
216 subscreen_object z3_passive_a[66]=
217 {
218 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
219 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
220 { ssoMINITILE, pos, 74, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
221 { ssoMINITILE, pos, 101, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
222 { ssoMINITILE, pos, 126, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
223 { ssoMINITILE, pos, 144, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
224 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
225 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
226 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
227 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
228 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
229 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
230 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
231 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
232 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
233 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
234 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
235 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
236 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
237 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
238 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
239 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
240 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
241 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
242 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
243 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
244 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
245 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
246 { sso2X2FRAME, pos, 32, 4, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
247 { ssoBUTTONITEM, pos, 40, 12, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
248 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
249 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
250 { ssoCOUNTER, pos, 52, 22, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
251 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
252 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
253 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
254 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
255 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
256 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
257 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
258 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
259 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
260 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
261 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
262 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
263 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
264 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
265 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
266 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
267 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
268 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
269 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
270 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
271 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
272 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
273 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
274 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
275 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
276 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
277 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
278 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
279 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
280 { ssoCOUNTER, pos, 77, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
281 { ssoCOUNTER, pos, 105, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
282 { ssoCOUNTER, pos, 129, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
283 { ssoCOUNTER, pos, 148, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
284 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
285 };
286 subscreen_object z3_passive_ab[75]=
287 {
288 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
289 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
290 { ssoMINITILE, pos, 80, 6, 0, 0, 5, 0, 0, 0, 0, 0, 101069, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
291 { ssoMINITILE, pos, 107, 6, 0, 0, 0, 0, 0, 0, 0, 0, 101369, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
292 { ssoMINITILE, pos, 132, 7, 0, 0, 1, 0, 0, 0, 0, 0, 101683, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
293 { ssoMINITILE, pos, 150, 6, 0, 0, 1, 0, 0, 0, 0, 0, 101212, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
294 { ssoMAGICGAUGE, pos, 16, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
295 { ssoMAGICGAUGE, pos, 16, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
296 { ssoMAGICGAUGE, pos, 16, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
297 { ssoMAGICGAUGE, pos, 16, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
298 { ssoMAGICGAUGE, pos, 16, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
299 { ssoMAGICGAUGE, pos, 16, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
300 { ssoMAGICGAUGE, pos, 16, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
301 { ssoMAGICGAUGE, pos, 16, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
302 { ssoMAGICGAUGE, pos, 16, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100320, 100640, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
303 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100322, 100260, 100322, 100322, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
304 { ssoMAGICGAUGE, pos, 24, 8, 8, 8, 5, 5, 5, 0, 0, 0, 9, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
305 { ssoMAGICGAUGE, pos, 24, 12, 8, 8, 5, 5, 5, 0, 0, 0, 8, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
306 { ssoMAGICGAUGE, pos, 24, 16, 8, 8, 5, 5, 5, 0, 0, 0, 7, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
307 { ssoMAGICGAUGE, pos, 24, 20, 8, 8, 5, 5, 5, 0, 0, 0, 6, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
308 { ssoMAGICGAUGE, pos, 24, 24, 8, 8, 5, 5, 5, 0, 0, 0, 5, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
309 { ssoMAGICGAUGE, pos, 24, 28, 8, 8, 5, 5, 5, 0, 0, 0, 4, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
310 { ssoMAGICGAUGE, pos, 24, 32, 8, 8, 5, 5, 5, 0, 0, 0, 3, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
311 { ssoMAGICGAUGE, pos, 24, 36, 8, 8, 5, 5, 5, 0, 0, 0, 2, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
312 { ssoMAGICGAUGE, pos, 24, 40, 8, 8, 5, 5, 5, 0, 0, 0, 1, 100480, 100720, 100262, 100263, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
313 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100323, 100260, 100262, 100263, 1, 0, 0, 2, 0, 0, 0, 0, 0, NULL },
314 { ssoMAGICGAUGE, pos, 16, 44, 8, 8, 5, 5, 5, 5, 0, 0, 0, 100402, 100260, 100322, 100322, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
315 { ssoMAGICGAUGE, pos, 24, 44, 8, 8, 5, 5, 5, 0, 0, 0, 0, 100403, 100260, 100262, 100263, 1, 0, 0, 1, 0, 0, 0, 0, 0, NULL },
316 { sso2X2FRAME, pos, 32, 26, 4, 4, 8, 0, 0, 0, 0, 0, 20040, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
317 { sso2X2FRAME, pos, 32, 0, 4, 4, 7, 0, 0, 0, 0, 0, 20040, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
318 { ssoBUTTONITEM, pos, 40, 8, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
319 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
320 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
321 { ssoCOUNTER, pos, 52, 18, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
322 { ssoBUTTONITEM, pos, 40, 34, 16, 16, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
323 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
324 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
325 { ssoCOUNTER, pos, 52, 44, 9, 7, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfZ3SMALL, sstaCENTER, sstsOUTLINEDPLUS, 2, '~', 2, sscSBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
326 { ssoTEXT, pos, 200, 6, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"LIFE" },
327 { ssoRECT, pos, 178, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
328 { ssoLINE, pos, 179, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
329 { ssoRECT, pos, 210, 8, 12, 2, 0, 15, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
330 { ssoLINE, pos, 211, 8, 10, 1, ssctMISC, ssctTEXT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
331 { ssoLIFEGAUGE, pos, 169, 15, 8, 8, 1, 1, 1, 1, 0, 0, 1, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
332 { ssoLIFEGAUGE, pos, 177, 15, 8, 8, 1, 1, 1, 1, 0, 0, 2, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
333 { ssoLIFEGAUGE, pos, 185, 15, 8, 8, 1, 1, 1, 1, 0, 0, 3, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
334 { ssoLIFEGAUGE, pos, 193, 15, 8, 8, 1, 1, 1, 1, 0, 0, 4, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
335 { ssoLIFEGAUGE, pos, 201, 15, 8, 8, 1, 1, 1, 1, 0, 0, 5, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
336 { ssoLIFEGAUGE, pos, 209, 15, 8, 8, 1, 1, 1, 1, 0, 0, 6, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
337 { ssoLIFEGAUGE, pos, 217, 15, 8, 8, 1, 1, 1, 1, 0, 0, 7, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
338 { ssoLIFEGAUGE, pos, 225, 15, 8, 8, 1, 1, 1, 1, 0, 0, 8, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
339 { ssoLIFEGAUGE, pos, 169, 23, 8, 8, 1, 1, 1, 1, 0, 0, 9, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
340 { ssoLIFEGAUGE, pos, 177, 23, 8, 8, 1, 1, 1, 1, 0, 0, 10, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
341 { ssoLIFEGAUGE, pos, 185, 23, 8, 8, 1, 1, 1, 1, 0, 0, 11, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
342 { ssoLIFEGAUGE, pos, 193, 23, 8, 8, 1, 1, 1, 1, 0, 0, 12, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
343 { ssoLIFEGAUGE, pos, 201, 23, 8, 8, 1, 1, 1, 1, 0, 0, 13, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
344 { ssoLIFEGAUGE, pos, 209, 23, 8, 8, 1, 1, 1, 1, 0, 0, 14, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
345 { ssoLIFEGAUGE, pos, 217, 23, 8, 8, 1, 1, 1, 1, 0, 0, 15, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
346 { ssoLIFEGAUGE, pos, 225, 23, 8, 8, 1, 1, 1, 1, 0, 0, 16, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
347 { ssoLIFEGAUGE, pos, 169, 31, 8, 8, 1, 1, 1, 1, 0, 0, 17, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
348 { ssoLIFEGAUGE, pos, 177, 31, 8, 8, 1, 1, 1, 1, 0, 0, 18, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
349 { ssoLIFEGAUGE, pos, 185, 31, 8, 8, 1, 1, 1, 1, 0, 0, 19, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
350 { ssoLIFEGAUGE, pos, 193, 31, 8, 8, 1, 1, 1, 1, 0, 0, 20, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
351 { ssoLIFEGAUGE, pos, 201, 31, 8, 8, 1, 1, 1, 1, 0, 0, 21, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
352 { ssoLIFEGAUGE, pos, 209, 31, 8, 8, 1, 1, 1, 1, 0, 0, 22, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
353 { ssoLIFEGAUGE, pos, 217, 31, 8, 8, 1, 1, 1, 1, 0, 0, 23, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
354 { ssoLIFEGAUGE, pos, 225, 31, 8, 8, 1, 1, 1, 1, 0, 0, 24, 100240, 100240, 100261, 100261, 1, 0, 0, 0, 3, 0, 0, 0, 0, NULL },
355 { ssoCOUNTER, pos, 83, 15, 25, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 3, '~', 1, sscRUPEES, 0, 0, 0, 0, 0, 0, 0, NULL },
356 { ssoCOUNTER, pos, 111, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscBOMBS, 0, 0, 0, 0, 0, 0, 0, NULL },
357 { ssoCOUNTER, pos, 135, 15, 0, 0, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 2, '~', 1, sscARROWS, 0, 0, 0, 0, 0, 0, 0, NULL },
358 { ssoCOUNTER, pos, 154, 15, 9, 9, ssctMISC, ssctTEXT, 0, 15, ssctSYSTEM, -1, ssfSS4, sstaCENTER, sstsSHADOWED, 1, '~', 1, sscGENKEYMAGIC, 0, 0, 0, 0, 0, 0, 0, NULL },
359 { ssoRECT, pos, 59, 11, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
360 { ssoRECT, pos, 59, 37, 4, 10, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
361 { ssoTEXT, pos, 61, 13, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"A" },
362 { ssoTEXT, pos, 61, 38, 8, 8, 0, 1, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *)"B" },
363 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
364 };
365
366 subscreen_object default_subscreen_active[ssdtMAX][2][66]=//[zinit.subscreen][dungeon]
367 {
368 {
369 //ssdtOLD
370 {
371 //ssdtOLD, overworld
372 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
373 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
374 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
375 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
376 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
377 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
378 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
379 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
380 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
381 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
382 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
383 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
384 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
385 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
386 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
387 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
388 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
389 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
390 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
391 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
392 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
393 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
397 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
398 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
399 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
400 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
401 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
402 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
403 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
404 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
405 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
406 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
407 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
408 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
409 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
410 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
411 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
412 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
413 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
414 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
415 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
416 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
417 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
418 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
419 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
420 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
421 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
422 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
423 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
424 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
425 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
426 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
427 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
428 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
429 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
430 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
431 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
432 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
433 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
434 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
435 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
436 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
437 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
438 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
439 },
440 {
441 //ssdtOLD, dungeon
442 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
443 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
449 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
450 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
451 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
452 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
453 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
454 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
455 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
456 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
457 { sso2X2FRAME, pos, 56, 34, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
458 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
459 { ssoTEXT, pos, 64, 66, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "USE B BUTTON" },
460 { ssoTEXT, pos, 64, 74, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "FOR THIS" },
461 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
462 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
463 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
464 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
465 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
466 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
467 { ssoCURRENTITEM, notscrolling, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
468 { ssoCURRENTITEM, notscrolling, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
470 { sso2X2FRAME, pos, 120, 34, 13, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
471 { ssoBUTTONITEM, notscrolling, 64, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
472 { ssoCURRENTITEM, notscrolling, 128, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
473 { ssoCURRENTITEM, notscrolling, 148, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
474 { ssoCURRENTITEM, notscrolling, 160, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
475 { ssoCURRENTITEM, notscrolling, 176, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
476 { ssoCURRENTITEM, notscrolling, 192, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
477 { ssoCURRENTITEM, notscrolling, 204, 18, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
478 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
479 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
480 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
481 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
482 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
483 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
484 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
485 { ssoCURRENTITEM, notscrolling, 172, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
486 { ssoCURRENTITEM, notscrolling, 180, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
487 { ssoCURRENTITEM, notscrolling, 128, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
488 { ssoCURRENTITEM, notscrolling, 152, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
489 { ssoCURRENTITEM, notscrolling, 176, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
490 { ssoCURRENTITEM, notscrolling, 200, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
491 { ssoCURRENTITEM, notscrolling, 128, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
492 { ssoCURRENTITEM, notscrolling, 152, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
493 { ssoCURRENTITEM, notscrolling, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
494 { ssoCURRENTITEM, notscrolling, 200, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
495 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
501 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
502 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
503 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
504 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
505 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
506 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
507 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
508 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
509 }
510 },
511 {
512 //ssdtNEWSUBSCR
513 {
514 //ssdtNEWSUBSCR, overworld
515 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
516 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
518 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
519 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
525 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
526 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
527 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
528 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
529 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
530 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
531 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
532 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
533 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
534 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
535 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
536 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
537 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
538 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
539 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
540 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
541 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
542 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
543 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
544 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
545 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
546 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
547 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
548 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
549 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
550 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
551 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
552 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
553 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
554 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
555 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
556 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
557 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
558 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
559 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
560 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
561 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
562 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
563 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
564 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
565 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
566 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
567 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
568 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
569 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
570 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
571 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
573 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
574 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
575 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
576 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
577 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
578 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
579 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
580 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
581 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
582 },
583 {
584 //ssdtNEWSUBSCR, dungeon
585 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
586 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
587 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
588 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
589 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
590 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
591 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
592 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
593 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
594 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
595 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
596 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
597 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
598 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
599 { ssoTEXT, pos, 68, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
600 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
601 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
602 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
603 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
604 { sso2X2FRAME, pos, 12, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
605 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
606 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
607 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
608 { ssoTEXT, pos, 52, 90, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "MAP" },
609 { ssoTEXT, pos, 52, 130, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "COMPASS" },
610 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
611 { ssoCURRENTITEM, pos, 44, 146, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
612 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
613 { sso2X2FRAME, pos, 136, 18, 13, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
614 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
615 { ssoCURRENTITEM, pos, 20, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
616 { ssoCURRENTITEM, pos, 36, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
617 { ssoCURRENTITEM, pos, 52, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
618 { ssoCURRENTITEM, pos, 68, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
619 { ssoCURRENTITEM, pos, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
620 { ssoCURRENTITEM, pos, 100, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
621 { ssoCURRENTITEM, pos, 20, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
622 { ssoCURRENTITEM, pos, 36, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
623 { ssoCURRENTITEM, pos, 52, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
624 { ssoCURRENTITEM, pos, 68, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
625 { ssoCURRENTITEM, pos, 84, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
626 { ssoCURRENTITEM, pos, 100, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
627 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
628 { ssoCURRENTITEM, pos, 188, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
629 { ssoCURRENTITEM, pos, 196, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
630 { ssoCURRENTITEM, pos, 144, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
631 { ssoCURRENTITEM, pos, 168, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
632 { ssoCURRENTITEM, pos, 192, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
633 { ssoCURRENTITEM, pos, 216, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
634 { ssoCURRENTITEM, pos, 144, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
635 { ssoCURRENTITEM, pos, 168, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
636 { ssoCURRENTITEM, pos, 192, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
637 { ssoCURRENTITEM, pos, 216, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
638 { ssoCURRENTITEM, pos, 144, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
639 { ssoCURRENTITEM, pos, 168, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
640 { ssoCURRENTITEM, pos, 192, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
641 { ssoCURRENTITEM, pos, 216, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
642 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
643 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
644 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
645 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
646 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
647 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
648 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
649 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
650 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
651 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
652 }
653 },
654 {
655 //ssdtREV2
656 {
657 //ssdtREV2, overworld
658 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
659 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
660 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
661 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
662 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
663 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
664 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
665 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
666 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
667 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
668 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
669 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
670 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
671 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
672 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
673 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
674 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
675 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
676 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
677 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
678 { ssoTEXT, pos, 128, 154, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
679 { ssoTRIFRAME, pos, 80, 98, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
680 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
681 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
682 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
683 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
684 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
685 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
686 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
687 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
688 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
689 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
690 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
691 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
692 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
693 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
694 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
695 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
696 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
697 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
698 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
699 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
700 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
701 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
702 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
703 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
704 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
705 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
706 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
707 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
708 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
709 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
710 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
711 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
712 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
713 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
714 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
715 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
716 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
717 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
718 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
719 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
720 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
721 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
722 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
723 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
724 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
725 },
726 {
727 //ssdtREV2, dungeon
728 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
729 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
730 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
732 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
733 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
734 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
735 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
736 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
737 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
738 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
739 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
740 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
741 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
742 { ssoTEXT, pos, 62, 18, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
743 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
744 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
745 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
746 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
747 { sso2X2FRAME, pos, 6, 34, 14, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
748 { sso2X2FRAME, pos, 16, 98, 9, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
749 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
750 { ssoLARGEMAP, pos, 96, 82, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL },
751 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
752 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
753 { ssoCURRENTITEM, pos, 24, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
754 { ssoCURRENTITEM, pos, 44, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
755 { ssoCURRENTITEM, pos, 64, 106, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
756 { sso2X2FRAME, pos, 118, 18, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
757 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
758 { ssoCURRENTITEM, pos, 14, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
759 { ssoCURRENTITEM, pos, 30, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
760 { ssoCURRENTITEM, pos, 46, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
761 { ssoCURRENTITEM, pos, 62, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
762 { ssoCURRENTITEM, pos, 78, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
763 { ssoCURRENTITEM, pos, 94, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
764 { ssoCURRENTITEM, pos, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
765 { ssoCURRENTITEM, pos, 30, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
766 { ssoCURRENTITEM, pos, 46, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
767 { ssoCURRENTITEM, pos, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
768 { ssoCURRENTITEM, pos, 78, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
769 { ssoCURRENTITEM, pos, 94, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
770 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
771 { ssoCURRENTITEM, pos, 170, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
772 { ssoCURRENTITEM, pos, 178, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
773 { ssoCURRENTITEM, pos, 126, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
774 { ssoCURRENTITEM, pos, 150, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
775 { ssoCURRENTITEM, pos, 174, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
776 { ssoCURRENTITEM, pos, 198, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
777 { ssoCURRENTITEM, pos, 222, 26, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
778 { ssoCURRENTITEM, pos, 126, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
779 { ssoCURRENTITEM, pos, 150, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
780 { ssoCURRENTITEM, pos, 174, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
781 { ssoCURRENTITEM, pos, 198, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
782 { ssoCURRENTITEM, pos, 222, 42, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
783 { ssoCURRENTITEM, pos, 126, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
784 { ssoCURRENTITEM, pos, 150, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
785 { ssoCURRENTITEM, pos, 174, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
786 { ssoCURRENTITEM, pos, 198, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
787 { ssoCURRENTITEM, pos, 222, 58, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
788 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
789 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
790 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
791 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
792 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
793 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
794 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
795 }
796 },
797 {
798 //ssdtBSZELDA
799 {
800 //ssdtBSZELDA, overworld
801 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
802 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
803 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
804 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
805 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
806 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
807 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
808 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
809 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
810 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
811 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
812 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
813 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
814 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
815 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
816 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
817 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
818 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
819 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
820 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
821 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
822 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
823 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
824 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
825 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
826 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
827 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
828 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
829 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
830 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
831 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
832 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
833 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
834 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
835 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
836 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
837 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
838 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
839 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
840 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
841 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
842 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
843 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
844 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
845 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
846 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
847 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
848 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
849 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
850 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
851 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
852 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
853 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
854 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
855 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
856 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
857 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
858 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
859 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
860 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
861 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
862 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
863 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
864 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
865 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
866 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
867 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
868 },
869 {
870 //ssdtBSZELDA, dungeon
871 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
872 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
873 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
874 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
875 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
876 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
877 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
878 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
879 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
880 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
881 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
882 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
883 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
884 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
885 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
886 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
887 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
888 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
889 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
890 { sso2X2FRAME, pos, 20, 40, 13, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
891 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
892 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
893 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
894 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
895 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
896 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
897 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
898 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
899 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
900 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
901 { ssoCURRENTITEM, pos, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
902 { ssoCURRENTITEM, pos, 96, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
903 { ssoCURRENTITEM, pos, 80, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
904 { ssoCURRENTITEM, pos, 32, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
905 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
906 { ssoCURRENTITEM, pos, 64, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
907 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
908 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
909 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
910 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
911 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
912 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
913 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
914 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
915 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
916 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
917 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
918 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
919 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
920 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
921 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
922 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
923 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
924 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
925 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
926 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
927 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
928 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
929 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
930 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
931 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
932 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
933 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
934 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
935 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
936 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
937 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
938 }
939 },
940 {
941 //ssdtBSZELDAMODIFIED
942 {
943 //ssdtBSZELDAMODIFIED, overworld
944 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
945 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
946 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
947 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
948 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
949 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
950 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
951 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
952 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
953 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
954 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
955 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
956 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
957 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
958 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
959 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
960 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
961 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
962 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
963 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
964 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
965 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
966 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
967 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
968 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
969 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
970 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
971 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
972 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
973 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
974 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
975 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
976 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
977 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
978 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
979 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
980 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
981 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
982 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
983 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
984 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
985 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
986 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
987 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
988 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
989 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
990 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
991 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
992 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
993 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
994 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
995 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
996 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
997 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
998 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
999 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1000 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1001 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1002 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1003 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1004 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1005 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1006 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1007 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1008 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1009 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1010 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1011 },
1012 {
1013 //ssdtBSZELDAMODIFIED, dungeon
1014 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1015 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1016 { ssoMINITILE, pos, 0, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1017 { ssoMINITILE, pos, 8, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1018 { ssoMINITILE, pos, 88, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1019 { ssoMINITILE, pos, 96, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1020 { ssoMINITILE, pos, 104, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1021 { ssoMINITILE, pos, 112, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1022 { ssoMINITILE, pos, 120, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1023 { ssoMINITILE, pos, 128, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1024 { ssoMINITILE, pos, 136, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1025 { ssoMINITILE, pos, 144, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1026 { ssoMINITILE, pos, 152, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1027 { ssoMINITILE, pos, 248, 24, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1028 { ssoTEXT, pos, 51, 24, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1029 { sso2X2FRAME, pos, 28, 80, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1030 { ssoTEXT, pos, 40, 80, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1031 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1032 { ssoTEXT, pos, 56, 96, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1033 { sso2X2FRAME, pos, 12, 40, 15, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1034 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1035 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1036 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1037 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1038 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1039 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1040 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1041 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1042 { sso2X2FRAME, pos, 20, 112, 14, 7, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1043 { ssoBUTTONITEM, pos, 32, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1044 { ssoCURRENTITEM, pos, 40, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1045 { ssoCURRENTITEM, pos, 88, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1046 { ssoCURRENTITEM, pos, 72, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1047 { ssoCURRENTITEM, pos, 24, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1048 { ssoCURRENTITEM, pos, 104, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1049 { ssoCURRENTITEM, pos, 56, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1050 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1051 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1052 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1053 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1054 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1055 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1056 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1057 { ssoCURRENTITEM, pos, 76, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1058 { ssoCURRENTITEM, pos, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1059 { ssoCURRENTITEM, pos, 32, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 4, 4, 7, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1060 { ssoCURRENTITEM, pos, 56, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 5, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1061 { ssoCURRENTITEM, pos, 80, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 6, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1062 { ssoCURRENTITEM, pos, 104, 120, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 7, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1063 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 0, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1064 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 1, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1065 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 2, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1066 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 3, 6, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1067 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1068 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1069 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1070 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1071 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1072 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1073 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1074 { ssoBSTIME, sspDOWN, 208, 25, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1075 { ssoRECT, sspDOWN, 160, 25, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1076 { ssoLINE, sspDOWN, 204, 25, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1077 { ssoLINE, sspDOWN, 160, 32, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1078 { ssoTEXT, sspDOWN, 161, 26, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1079 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1080 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1081 }
1082 },
1083 {
1084 //ssdtBSZELDAENHANCED
1085 {
1086 //ssdtBSZELDAENHANCED, overworld
1087 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1088 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1089 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1090 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1091 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1092 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1093 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1094 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1095 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1096 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1097 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1098 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1099 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1100 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1101 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1102 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1103 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1104 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1105 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1106 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1107 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1108 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1109 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1110 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1111 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1112 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1113 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1114 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1115 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1116 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1117 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1118 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1119 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1120 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1121 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1122 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1123 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1124 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1125 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1126 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1127 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1128 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1129 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1130 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1131 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1132 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1133 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1134 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1135 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1136 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1137 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1138 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1139 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1140 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1141 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1142 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1143 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1144 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1145 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1146 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1147 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1148 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1149 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1150 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1151 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1152 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1153 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1154 },
1155 {
1156 //ssdtBSZELDAENHANCED, dungeon
1157 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1158 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1159 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1160 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1161 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1162 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1163 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1164 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1165 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1166 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1167 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1168 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1169 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1170 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1171 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1172 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1173 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1174 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1175 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1176 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1177 { sso2X2FRAME, pos, 160, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1178 { sso2X2FRAME, pos, 192, 40, 4, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1179 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1180 { ssoTEXT, pos, 176, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Compass" },
1181 { ssoTEXT, pos, 208, 72, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "Map" },
1182 { ssoCURRENTITEM, pos, 200, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1183 { ssoCURRENTITEM, pos, 168, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1184 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1185 { sso2X2FRAME, pos, 20, 104, 14, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1186 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1187 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1188 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1189 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1190 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1191 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1192 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1193 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1194 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1195 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1196 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1197 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1198 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1199 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1200 { ssoCURRENTITEM, pos, 76, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1201 { ssoCURRENTITEM, pos, 84, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1202 { ssoCURRENTITEM, pos, 32, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 11, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1203 { ssoCURRENTITEM, pos, 56, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1204 { ssoCURRENTITEM, pos, 80, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1205 { ssoCURRENTITEM, pos, 104, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1206 { ssoCURRENTITEM, pos, 32, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 3, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1207 { ssoCURRENTITEM, pos, 56, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1208 { ssoCURRENTITEM, pos, 80, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1209 { ssoCURRENTITEM, pos, 104, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1210 { ssoCURRENTITEM, pos, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 7, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1211 { ssoCURRENTITEM, pos, 56, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1212 { ssoCURRENTITEM, pos, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1213 { ssoCURRENTITEM, pos, 104, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1214 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1215 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1216 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1217 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1218 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1219 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1220 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1221 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1222 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1223 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1224 }
1225 },
1226 {
1227 //ssdtBSZELDACOMPLETE
1228 {
1229 //ssdtBSZELDACOMPLETE, overworld
1230 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1231 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1232 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1233 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1234 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1235 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1236 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1237 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1238 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1239 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1240 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1241 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1242 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1243 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1244 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1245 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1246 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1247 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1248 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1249 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1250 { ssoTEXT, pos, 136, 48, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "TRIFORCE" },
1251 { ssoTRIFRAME, pos, 136, 56, 0, 0, ssctMISC, ssctTRIFRAMECOLOR, ssctMISC, ssctCAPTION, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1252 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1253 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1254 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1255 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1256 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1257 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1258 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1259 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1260 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1261 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1262 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1263 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1264 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1265 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1266 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1267 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1268 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1269 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1270 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1271 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1272 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1273 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1274 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1275 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1276 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1277 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1278 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1279 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1280 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1281 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1282 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1283 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1284 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1285 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1286 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1287 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1288 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1289 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1290 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1291 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1292 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1293 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1294 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1295 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1296 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1297 },
1298 {
1299 //ssdtBSZELDACOMPLETE, dungeon
1300 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1301 { ssoRECT, pos, 0, 0, 256, 168, ssctMISC, ssctSUBSCRBG, ssctMISC, ssctSUBSCRBG, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1302 { ssoMINITILE, pos, 0, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1303 { ssoMINITILE, pos, 8, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1304 { ssoMINITILE, pos, 88, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1305 { ssoMINITILE, pos, 96, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1306 { ssoMINITILE, pos, 104, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1307 { ssoMINITILE, pos, 112, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1308 { ssoMINITILE, pos, 120, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1309 { ssoMINITILE, pos, 128, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1310 { ssoMINITILE, pos, 136, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1311 { ssoMINITILE, pos, 144, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 9, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1312 { ssoMINITILE, pos, 152, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1313 { ssoMINITILE, pos, 248, 8, 0, 0, ssctMISC, sscsSSVINECSET, 0, 0, 0, 0, -1, ssmstSSVINETILE, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1314 { ssoTEXT, pos, 51, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "INVENTORY" },
1315 { sso2X2FRAME, pos, 28, 72, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1316 { ssoTEXT, pos, 40, 72, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1317 { ssoTEXT, pos, 56, 80, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B Button" },
1318 { ssoTEXT, pos, 56, 88, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfSS2, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "to use item" },
1319 { sso2X2FRAME, pos, 12, 20, 15, 6, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1320 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1321 { sso2X2FRAME, pos, 152, 40, 10, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1322 { ssoLARGEMAP, pos, 144, 88, 0, 0, ssctMISC, ssctBMAPFG, ssctMISC, ssctHERODOT, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1323 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1324 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1325 { ssoCURRENTITEM, pos, 160, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_map, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1326 { ssoCURRENTITEM, pos, 184, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_compass, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1327 { ssoCURRENTITEM, pos, 208, 48, 0, 0, 0, 0, 0, 0, 0, 0, itype_bosskey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1328 { sso2X2FRAME, pos, 4, 104, 16, 8, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1329 { ssoBUTTONITEM, pos, 32, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1330 { ssoCURRENTITEM, pos, 40, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_raft, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1331 { ssoCURRENTITEM, pos, 88, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_book, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1332 { ssoCURRENTITEM, pos, 72, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ring, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1333 { ssoCURRENTITEM, pos, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_ladder, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1334 { ssoCURRENTITEM, pos, 104, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_magickey, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1335 { ssoCURRENTITEM, pos, 56, 28, 0, 0, 0, 0, 0, 0, 0, 0, itype_bracelet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1336 { ssoCURRENTITEM, pos, 24, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_shield, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1337 { ssoCURRENTITEM, pos, 40, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_wallet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1338 { ssoCURRENTITEM, pos, 56, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_amulet, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1339 { ssoCURRENTITEM, pos, 72, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_flippers, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1340 { ssoCURRENTITEM, pos, 88, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_boots, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1341 { ssoCURRENTITEM, pos, 104, 44, 0, 0, 0, 0, 0, 0, 0, 0, itype_heartpiece, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1342 { ssoSELECTOR2, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1343 { ssoCURRENTITEM, pos, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1344 { ssoCURRENTITEM, pos, 68, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bow, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1345 { ssoCURRENTITEM, pos, 14, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_brang, 1, 0, 8, 4, 14, 1, 0, 0, 0, 0, 0, 0, 0, NULL },
1346 { ssoCURRENTITEM, pos, 38, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_bomb, 1, 1, 9, 5, 0, 2, 0, 0, 0, 0, 0, 0, 0, NULL },
1347 { ssoCURRENTITEM, pos, 62, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_arrow, 0, 2, 10, 6, 1, 3, 0, 0, 0, 0, 0, 0, 0, NULL },
1348 { ssoCURRENTITEM, pos, 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_candle, 1, 3, 11, 7, 2, 12, 0, 0, 0, 0, 0, 0, 0, NULL },
1349 { ssoCURRENTITEM, pos, 110, 112, 0, 0, 0, 0, 0, 0, 0, 0, itype_divinefire, 1, 12, 14, 13, 3, 4, 0, 0, 0, 0, 0, 0, 0, NULL },
1350 { ssoCURRENTITEM, pos, 14, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_whistle, 1, 4, 0, 8, 12, 5, 0, 0, 0, 0, 0, 0, 0, NULL },
1351 { ssoCURRENTITEM, pos, 38, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_bait, 1, 5, 1, 9, 4, 6, 0, 0, 0, 0, 0, 0, 0, NULL },
1352 { ssoCURRENTITEM, pos, 62, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_letterpotion, 1, 6, 2, 10, 5, 7, 0, 0, 0, 0, 0, 0, 0, NULL },
1353 { ssoCURRENTITEM, pos, 86, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_wand, 1, 7, 3, 11, 6, 13, 0, 0, 0, 0, 0, 0, 0, NULL },
1354 { ssoCURRENTITEM, pos, 110, 128, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineescape, 1, 13, 12, 14, 7, 8, 0, 0, 0, 0, 0, 0, 0, NULL },
1355 { ssoCURRENTITEM, pos, 14, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hookshot, 1, 8, 4, 0, 13, 9, 0, 0, 0, 0, 0, 0, 0, NULL },
1356 { ssoCURRENTITEM, pos, 38, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_sbomb, 1, 9, 5, 1, 8, 10, 0, 0, 0, 0, 0, 0, 0, NULL },
1357 { ssoCURRENTITEM, pos, 62, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_lens, 1, 10, 6, 2, 9, 11, 0, 0, 0, 0, 0, 0, 0, NULL },
1358 { ssoCURRENTITEM, pos, 86, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_hammer, 1, 11, 7, 3, 10, 14, 0, 0, 0, 0, 0, 0, 0, NULL },
1359 { ssoCURRENTITEM, pos, 110, 144, 0, 0, 0, 0, 0, 0, 0, 0, itype_divineprotection, 1, 14, 13, 12, 11, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1360 { ssoBSTIME, sspDOWN, 208, 9, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1361 { ssoRECT, sspDOWN, 160, 9, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1362 { ssoLINE, sspDOWN, 204, 9, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1363 { ssoLINE, sspDOWN, 160, 16, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1364 { ssoTEXT, sspDOWN, 161, 10, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1365 { ssoSELECTOR1, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1366 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1367 }
1368 }
1369 };
1370 subscreen_object default_subscreen_passive[ssdtMAX][2][21]= //[zinit.subscreen][no magic]
1371 {
1372 {
1373 //ssdtOLD
1374 {
1375 //ssdtOLD, magic
1376 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1377 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1378 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1379 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1380 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1381 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1382 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1383 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1384 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1385 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1386 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1387 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1388 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1389 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1390 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1391 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1392 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1393 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1394 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1395 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1396 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1397 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1398 },
1399 {
1400 //ssdtOLD, no magic
1401 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1402 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1403 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1404 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1405 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1406 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1407 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1408 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1409 { ssoBUTTONITEM, sspUP, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1410 { ssoBUTTONITEM, sspUP, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1411 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1412 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1413 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1414 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1415 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1416 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1417 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1418 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1419 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1420 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1421 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1422 }
1423 },
1424 {
1425 //ssdtNEWSUBSCR
1426 {
1427 //ssdtNEWSUBSCR, magic
1428 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1429 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1430 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1431 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1432 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1433 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1434 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1435 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1436 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1437 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1438 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1439 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1440 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1441 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1442 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1443 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1444 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1445 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1446 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1447 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1448 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1449 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1450 },
1451 {
1452 //ssdtNEWSUBSCR, no magic
1453 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1454 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1455 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1456 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1457 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1458 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1459 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1460 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1461 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1462 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1463 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1464 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1465 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1466 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1467 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1468 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1469 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1470 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1471 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1472 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1473 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1474 }
1475 },
1476 {
1477 //ssdtREV2
1478 {
1479 //ssdtREV2, magic
1480 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1481 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1482 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1483 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1484 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1485 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1486 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1487 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1488 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1489 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1490 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1491 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1492 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1493 { ssoTEXT, pos, 208, 12, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1494 { ssoLIFEMETER, pos, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1495 { ssoMAGICMETER, pos, 176, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1496 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1497 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1498 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1499 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1500 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1501 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1502 },
1503 {
1504 //ssdtREV2, no magic
1505 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1506 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1507 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1508 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, 0, 0, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1509 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, 1, sstsNORMAL, 3, 'A', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1510 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1511 { sso2X2FRAME, pos, 120, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1512 { sso2X2FRAME, pos, 144, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1513 { ssoBUTTONITEM, pos, 124, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1514 { ssoBUTTONITEM, pos, 148, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1515 { ssoTEXT, pos, 132, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1516 { ssoTEXT, pos, 156, 16, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctMISC, ssctSUBSCRBG, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1517 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1518 { ssoTEXT, pos, 208, 16, 0, 0, ssctMISC, ssctCAPTION, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaCENTER, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "-LIFE-" },
1519 { ssoLIFEMETER, pos, 176, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1520 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1521 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1522 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1523 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1524 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1525 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1526 }
1527 },
1528 {
1529 //ssdtBSZELDA
1530 {
1531 //ssdtBSZELDA, magic
1532 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1533 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1534 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1535 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1536 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1537 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1538 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1539 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1540 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1541 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1542 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1543 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1544 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1545 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1546 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1547 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1548 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1549 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1550 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1551 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1552 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1553 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1554 },
1555 {
1556 //ssdtBSZELDA, no magic
1557 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1558 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1559 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1560 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1561 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1562 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1563 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1564 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1565 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1566 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1567 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1568 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1569 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1570 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1571 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1572 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1573 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1574 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1575 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1576 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1577 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1578 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1579 }
1580 },
1581 {
1582 //ssdtBSZELDAMODIFIED
1583 {
1584 //ssdtBSZELDAMODIFIED, magic
1585 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1586 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1587 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1588 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1589 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1590 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1591 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1592 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1593 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1594 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1595 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1596 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1597 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1598 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1599 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1600 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1601 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1602 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1603 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1604 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1605 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1606 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1607 },
1608 {
1609 //ssdtBSZELDAMODIFIED, no magic
1610 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1611 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1612 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1613 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1614 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1615 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1616 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1617 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1618 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1619 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1620 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1621 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1622 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1623 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1624 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1625 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1626 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1627 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1628 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1629 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1630 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1631 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1632 }
1633 },
1634 {
1635 //ssdtBSZELDAENHANCED
1636 {
1637 //ssdtBSZELDAENHANCED, magic
1638 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1639 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1640 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1641 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1642 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1643 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1644 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1645 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1646 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1647 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1648 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1649 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1650 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1651 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1652 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1653 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1654 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1655 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1656 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1657 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1658 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1659 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1660 },
1661 {
1662 //ssdtBSZELDAENHANCED, no magic
1663 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1664 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1665 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1666 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1667 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1668 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1669 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1670 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1671 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1672 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1673 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1674 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1675 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1676 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1677 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1678 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1679 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1680 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1681 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1682 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1683 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1684 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1685 }
1686 },
1687 {
1688 //ssdtBSZELDACOMPLETE
1689 {
1690 //ssdtBSZELDACOMPLETE, magic
1691 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1692 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1693 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1694 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1695 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1696 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1697 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1698 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1699 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1700 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1701 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1702 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1703 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1704 { ssoTEXT, pos, 220, 8, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1705 { ssoLIFEMETER, pos, 188, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1706 { ssoMAGICMETER, pos, 188, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1707 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1708 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1709 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1710 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1711 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1712 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL }
1713 },
1714 {
1715 //ssdtBSZELDACOMPLETE, no magic
1716 //object position x y w h color type 1 color 1 color type 2 color 2 color type 3 color 3 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 frames speed delay frame dp1
1717 { ssoCLEAR, pos, 0, 0, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1718 { ssoMINIMAP, pos, 8, 8, 0, 0, ssctMISC, ssctHERODOT, ssctMISC, ssctCOMPASSLT, ssctMISC, ssctCOMPASSDK, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1719 { ssoMINIMAPTITLE, pos, 48, 0, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS3, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1720 { ssoCOUNTERS, pos, 88, 16, 32, 32, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, 1, sstsSHADOWED, 4, '~', 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1721 { ssoSSTIME, pos, 240, 0, 0, 0, ssctMISC, ssctTEXT, 0, 0, ssctSYSTEM, -1, ssfZELDA, sstaRIGHT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1722 { sso2X2FRAME, pos, 132, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1723 { sso2X2FRAME, pos, 156, 16, 3, 4, ssctMISC, sscsBLUEFRAMECSET, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1724 { ssoBUTTONITEM, pos, 136, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1725 { ssoBUTTONITEM, pos, 160, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1726 { ssoTEXT, pos, 144, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWEDU, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "B" },
1727 { ssoTEXT, pos, 168, 16, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsOUTLINED8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "A" },
1728 { ssoLINE, pos, 163, 15, 174, 1, ssctMISC, ssctSUBSCRBG, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1729 { ssoTEXT, pos, 216, 16, 0, 0, ssctMISC, ssctCAPTION, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaCENTER, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "- life -" },
1730 { ssoLIFEMETER, pos, 184, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1731 { ssoNONE, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1732 { ssoBSTIME, sspUP, 208, 48, 0, 0, ssctMISC, ssctTEXT, ssctMISC, ssctSUBSCRSHADOW, ssctSYSTEM, -1, ssfSS1, sstaLEFT, sstsSHADOWED, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1733 { ssoRECT, sspUP, 160, 48, 44, 7, ssctMISC, ssctTEXT, ssctMISC, ssctTEXT, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1734 { ssoLINE, sspUP, 204, 48, 1, 8, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1735 { ssoLINE, sspUP, 160, 55, 45, 1, ssctMISC, ssctSUBSCRSHADOW, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1736 { ssoTEXT, sspUP, 161, 49, 0, 0, ssctMISC, ssctSUBSCRBG, 0, 0, ssctSYSTEM, -1, ssfZTIME, sstaLEFT, sstsNORMAL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, (void *) "ZELDA TIME" },
1737 { ssoNULL, pos, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL },
1738 }
1739 }
1740 };
1741
1742 67554273 void textout_styled_aligned_ex(BITMAP *bmp, const FONT *f, const char *s, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg)
1743 {
1744
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5382765 times.
✓ Branch 2 taken 32564921 times.
✓ Branch 3 taken 29606587 times.
67554273 switch(alignment)
1745 {
1746 case sstaRIGHT:
1747
3/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 923 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 11678 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✓ Branch 11 taken 5370164 times.
5382765 switch(textstyle)
1748 {
1749 case sstsSHADOW:
1750 textout_shadow_right_ex(bmp, f, s, x, y, shadow, bg);
1751 break;
1752
1753 case sstsSHADOWU:
1754 textout_shadow_right_u_ex(bmp, f, s, x, y, shadow, bg);
1755 break;
1756
1757 case sstsOUTLINE8:
1758 textout_shadow_right_o_ex(bmp, f, s, x, y, shadow, bg);
1759 break;
1760
1761 case sstsOUTLINEPLUS:
1762 textout_shadow_right_plus_ex(bmp, f, s, x, y, shadow, bg);
1763 break;
1764
1765 case sstsOUTLINEX:
1766 textout_shadow_right_x_ex(bmp, f, s, x, y, shadow, bg);
1767 break;
1768
1769 case sstsSHADOWED:
1770 923 textout_shadowed_right_ex(bmp, f, s, x, y, color, shadow, bg);
1771 923 break;
1772
1773 case sstsSHADOWEDU:
1774 textout_shadowed_right_u_ex(bmp, f, s, x, y, color, shadow, bg);
1775 break;
1776
1777 case sstsOUTLINED8:
1778 11678 textout_shadowed_right_o_ex(bmp, f, s, x, y, color, shadow, bg);
1779 11678 break;
1780
1781 case sstsOUTLINEDPLUS:
1782 textout_shadowed_right_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1783 break;
1784
1785 case sstsOUTLINEDX:
1786 textout_shadowed_right_x_ex(bmp, f, s, x, y, color, shadow, bg);
1787 break;
1788
1789 5370164 case sstsNORMAL:
1790 default:
1791 5370164 textout_right_ex(bmp, f, s, x, y, color, bg);
1792 5370164 break;
1793 }
1794
1795 5382765 break;
1796
1797 case sstaCENTER:
1798
4/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 2532 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 20974 times.
✓ Branch 9 taken 288470 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 32252945 times.
32564921 switch(textstyle)
1799 {
1800 case sstsSHADOW:
1801 textout_shadow_center_ex(bmp, f, s, x, y, shadow, bg);
1802 break;
1803
1804 case sstsSHADOWU:
1805 textout_shadow_center_u_ex(bmp, f, s, x, y, shadow, bg);
1806 break;
1807
1808 case sstsOUTLINE8:
1809 textout_shadow_center_o_ex(bmp, f, s, x, y, shadow, bg);
1810 break;
1811
1812 case sstsOUTLINEPLUS:
1813 textout_shadow_center_plus_ex(bmp, f, s, x, y, shadow, bg);
1814 break;
1815
1816 case sstsOUTLINEX:
1817 textout_shadow_center_x_ex(bmp, f, s, x, y, shadow, bg);
1818 break;
1819
1820 case sstsSHADOWED:
1821 2532 textout_shadowed_center_ex(bmp, f, s, x, y, color, shadow, bg);
1822 2532 break;
1823
1824 case sstsSHADOWEDU:
1825 textout_shadowed_center_u_ex(bmp, f, s, x, y, color, shadow, bg);
1826 break;
1827
1828 case sstsOUTLINED8:
1829 20974 textout_shadowed_center_o_ex(bmp, f, s, x, y, color, shadow, bg);
1830 20974 break;
1831
1832 case sstsOUTLINEDPLUS:
1833 288470 textout_shadowed_center_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1834 288470 break;
1835
1836 case sstsOUTLINEDX:
1837 textout_shadowed_center_x_ex(bmp, f, s, x, y, color, shadow, bg);
1838 break;
1839
1840 32252945 case sstsNORMAL:
1841 default:
1842 32252945 textout_centre_ex(bmp, f, s, x, y, color, bg);
1843 32252945 break;
1844 }
1845
1846 32564921 break;
1847
1848 29606587 case sstaLEFT:
1849 default:
1850
5/12
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 6 taken 4908 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 808813 times.
✓ Branch 9 taken 1605547 times.
✓ Branch 10 taken 364228 times.
✓ Branch 11 taken 26823091 times.
29606587 switch(textstyle)
1851 {
1852 case sstsSHADOW:
1853 textout_shadow_ex(bmp, f, s, x, y, shadow, bg);
1854 break;
1855
1856 case sstsSHADOWU:
1857 textout_shadow_u_ex(bmp, f, s, x, y, shadow, bg);
1858 break;
1859
1860 case sstsOUTLINE8:
1861 textout_shadow_o_ex(bmp, f, s, x, y, shadow, bg);
1862 break;
1863
1864 case sstsOUTLINEPLUS:
1865 textout_shadow_plus_ex(bmp, f, s, x, y, shadow, bg);
1866 break;
1867
1868 case sstsOUTLINEX:
1869 textout_shadow_x_ex(bmp, f, s, x, y, shadow, bg);
1870 break;
1871
1872 case sstsSHADOWED:
1873 4908 textout_shadowed_ex(bmp, f, s, x, y, color, shadow, bg);
1874 4908 break;
1875
1876 case sstsSHADOWEDU:
1877 textout_shadowed_u_ex(bmp, f, s, x, y, color, shadow, bg);
1878 break;
1879
1880 case sstsOUTLINED8:
1881 808813 textout_shadowed_o_ex(bmp, f, s, x, y, color, shadow, bg);
1882 808813 break;
1883
1884 case sstsOUTLINEDPLUS:
1885 1605547 textout_shadowed_plus_ex(bmp, f, s, x, y, color, shadow, bg);
1886 1605547 break;
1887
1888 case sstsOUTLINEDX:
1889 364228 textout_shadowed_x_ex(bmp, f, s, x, y, color, shadow, bg);
1890 364228 break;
1891
1892 26823091 case sstsNORMAL:
1893 default:
1894 26823091 textout_ex(bmp, f, s, x, y, color, bg);
1895 26823091 break;
1896 }
1897
1898 29606587 break;
1899 }
1900 67554273 }
1901
1902 28958043 void textprintf_styled_aligned_ex(BITMAP *bmp, const FONT *f, int32_t x, int32_t y, int32_t textstyle, int32_t alignment, int32_t color, int32_t shadow, int32_t bg, const char *format, ...)
1903 {
1904
1905 char buf[512];
1906 va_list ap;
1907
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 28958043 times.
28958043 ASSERT(bmp);
1908
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 28958043 times.
28958043 ASSERT(f);
1909
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 28958043 times.
28958043 ASSERT(format);
1910
1911 28958043 va_start(ap, format);
1912 28958043 uvszprintf(buf, sizeof(buf), format, ap);
1913 28958043 va_end(ap);
1914
1915 28958043 textout_styled_aligned_ex(bmp, f, buf, x, y, textstyle, alignment, color, shadow, bg);
1916 28958043 }
1917
1918
1919 64665 void draw_textbox(BITMAP *dest, int32_t x, int32_t y, int32_t w, int32_t h, FONT *tempfont, char *thetext, bool wword, int32_t tabsize, int32_t alignment, int32_t textstyle, int32_t color, int32_t shadowcolor, int32_t backcolor)
1920 {
1921 64665 int32_t y1 = y;
1922 int32_t x1;
1923 int32_t len;
1924 char s[16];
1925 char text[16];
1926 char space[16];
1927 64665 char *printed = text;
1928 64665 char *scanned = text;
1929 64665 char *oldscan = text;
1930 64665 char *ignore = NULL;
1931 char *tmp, *ptmp;
1932 int32_t width;
1933 64665 int32_t i = 0;
1934 int32_t noignore;
1935
1936 64665 usetc(s+usetc(s, '.'), 0);
1937 64665 usetc(text+usetc(text, ' '), 0);
1938 64665 usetc(space+usetc(space, ' '), 0);
1939
1940 /* find the correct text */
1941
1/2
✓ Branch 0 taken 64665 times.
✗ Branch 1 not taken.
64665 if(thetext != NULL)
1942 {
1943 64665 printed = thetext;
1944 64665 scanned = thetext;
1945 64665 }
1946
1947 /* loop over the entire string */
1948 217359 for(;;)
1949 {
1950 217359 width = 0;
1951
1952 /* find the next break */
1953
2/2
✓ Branch 0 taken 13767 times.
✓ Branch 1 taken 261757 times.
275524 while(ugetc(scanned))
1954 {
1955 /* check for a forced break */
1956
1/2
✓ Branch 0 taken 261757 times.
✗ Branch 1 not taken.
261757 if(ugetc(scanned) == '\n')
1957 {
1958 scanned += uwidth(scanned);
1959 /* we are done parsing the line end */
1960 break;
1961 }
1962
1963 /* the next character length */
1964 261757 usetc(s+usetc(s, ugetc(scanned)), 0);
1965 261757 len = text_length(tempfont, s);
1966
1967 /* modify length if its a tab */
1968
2/2
✓ Branch 0 taken 249133 times.
✓ Branch 1 taken 12624 times.
261757 if(ugetc(s) == '\t')
1969 {
1970 12624 len = tabsize * text_length(tempfont, space);
1971 12624 }
1972
1973 /* check for the end of a line by excess width of next char */
1974
2/2
✓ Branch 0 taken 58165 times.
✓ Branch 1 taken 203592 times.
261757 if(width+len >= w)
1975 {
1976 /* we have reached end of line do we go back to find start */
1977
1/2
✓ Branch 0 taken 203592 times.
✗ Branch 1 not taken.
203592 if(wword)
1978 {
1979 /* remember where we were */
1980 oldscan = scanned;
1981 noignore = FALSE;
1982
1983 /* go backwards looking for start of word */
1984 while(!uisspace(ugetc(scanned)))
1985 {
1986 /* don't wrap too far */
1987 if(scanned == printed)
1988 {
1989 /* the whole line is filled, so stop here */
1990 tmp = ptmp = scanned;
1991
1992 while(ptmp != oldscan)
1993 {
1994 ptmp = tmp;
1995 tmp += uwidth(tmp);
1996 }
1997
1998 scanned = ptmp;
1999 noignore = TRUE;
2000 break;
2001 }
2002
2003 /* look further backwards to wrap */
2004 tmp = ptmp = printed;
2005
2006 while(tmp < scanned)
2007 {
2008 ptmp = tmp;
2009 tmp += uwidth(tmp);
2010 }
2011
2012 scanned = ptmp;
2013 }
2014
2015 /* put the space at the end of the line */
2016 if(!noignore)
2017 {
2018 ignore = scanned;
2019 scanned += uwidth(scanned);
2020 }
2021 else
2022 {
2023 ignore = NULL;
2024 }
2025
2026 /* check for endline at the convenient place */
2027 if(ugetc(scanned) == '\n')
2028 {
2029 scanned += uwidth(scanned);
2030 }
2031 }
2032
2033 /* we are done parsing the line end */
2034 203592 break;
2035 }
2036
2037 /* the character can be added */
2038 58165 scanned += uwidth(scanned);
2039 58165 width += len;
2040 }
2041
2042 /* check if we are to print it */
2043
2/2
✓ Branch 0 taken 13767 times.
✓ Branch 1 taken 203592 times.
217359 if((y1+text_height(tempfont) <= (y+h)))
2044 {
2045 13767 int32_t tempw=0;
2046 13767 char *tempprinted=printed;
2047
2048 /* print up to the marked character */
2049
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2050 {
2051 /* do special stuff for each charater */
2052
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2053 {
2054 case '\r':
2055 case '\n':
2056 /* don't print endlines in the text */
2057 break;
2058
2059 /* possibly expand the tabs */
2060 case '\t':
2061 for(i=0; i<tabsize; i++)
2062 {
2063 usetc(s+usetc(s, ' '), 0);
2064 tempw += text_length(tempfont, s);
2065 }
2066
2067 break;
2068
2069 /* print a normal character */
2070 default:
2071
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2072 {
2073 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2074 45541 tempw += text_length(tempfont, s);
2075 45541 }
2076 45541 }
2077
2078 /* goto the next character */
2079 45541 printed += uwidth(printed);
2080 }
2081
2082 13767 printed=tempprinted;
2083
2084
2/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✓ Branch 2 taken 13269 times.
✓ Branch 3 taken 498 times.
13767 switch(alignment)
2085 {
2086 case sstaRIGHT:
2087 x1=x+w-tempw;
2088 break;
2089
2090 case sstaCENTER:
2091 13269 x1=x+((w-tempw)/2)+1;
2092 13269 break;
2093
2094 498 case sstaLEFT:
2095 default:
2096 498 x1 = x;
2097 498 break;
2098 }
2099
2100 /* print up to the marked character */
2101
2/2
✓ Branch 0 taken 45541 times.
✓ Branch 1 taken 13767 times.
59308 while(printed != scanned)
2102 {
2103 /* do special stuff for each charater */
2104
1/3
✗ Branch 0 not taken.
✓ Branch 1 taken 45541 times.
✗ Branch 2 not taken.
45541 switch(ugetc(printed))
2105 {
2106
2107 case '\r':
2108 case '\n':
2109 /* don't print endlines in the text */
2110 break;
2111
2112 /* possibly expand the tabs */
2113 case '\t':
2114 for(i=0; i<tabsize; i++)
2115 {
2116 usetc(s+usetc(s, ' '), 0);
2117 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2118 x1 += text_length(tempfont, s);
2119 }
2120
2121 break;
2122
2123 /* print a normal character */
2124 default:
2125
1/2
✓ Branch 0 taken 45541 times.
✗ Branch 1 not taken.
45541 if(printed != ignore)
2126 {
2127 45541 usetc(s+usetc(s, ugetc(printed)), 0);
2128 45541 textout_styled_aligned_ex(dest, tempfont, s, x1, y1, textstyle, sstaLEFT, color, shadowcolor, backcolor);
2129 45541 x1 += text_length(tempfont, s);
2130 45541 }
2131 45541 }
2132
2133 /* goto the next character */
2134 45541 printed += uwidth(printed);
2135 }
2136
2137 /* print the line end */
2138 13767 y1 += text_height(tempfont);
2139 13767 }
2140 else
2141 {
2142 203592 scanned += uwidth(scanned);
2143 }
2144
2145 217359 printed = scanned;
2146
2147 /* check if we are at the end of the string */
2148
2/2
✓ Branch 0 taken 64665 times.
✓ Branch 1 taken 152694 times.
217359 if(!ugetc(printed))
2149 {
2150 64665 return;
2151 }
2152 }
2153 }
2154
2155
2156
2157 //void frame2x2(BITMAP *dest,int32_t x,int32_t y,int32_t xsize,int32_t ysize,int32_t t,int32_t c)
2158 //draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3,css->objects[i].d4);
2159 17826781 void frame2x2(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t /*flip*/,bool overlay,bool trans)
2160 {
2161 /*
2162 /- -- -- -\
2163 | |
2164 | |
2165 \_ __ __ _/
2166
2167 0 1 4 5
2168 2 3 6 7
2169 80 81 84 85
2170 82 83 86 87
2171 */
2172
2/2
✓ Branch 0 taken 2993065 times.
✓ Branch 1 taken 14833716 times.
17826781 if(tile==0)
2173 {
2174 14833716 tile = QMisc.colors.blueframe_tile;
2175 14833716 }
2176
2177 17826781 int32_t t8 = tile<<2;
2178
2179
2/2
✓ Branch 0 taken 17815090 times.
✓ Branch 1 taken 11691 times.
17826781 if(overlay)
2180 {
2181
2/2
✓ Branch 0 taken 44345 times.
✓ Branch 1 taken 17770745 times.
17815090 if(trans)
2182 {
2183
2/2
✓ Branch 0 taken 1419040 times.
✓ Branch 1 taken 44345 times.
1463385 for(int32_t dx=0; dx<w; dx++)
2184 {
2185
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2186
6/6
✓ Branch 0 taken 709520 times.
✓ Branch 1 taken 709520 times.
✓ Branch 2 taken 44345 times.
✓ Branch 3 taken 665175 times.
✓ Branch 4 taken 665175 times.
✓ Branch 5 taken 44345 times.
1419040 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2187
2188 1419040 overtiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2189 1419040 overtiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2190 1419040 }
2191
2192
2/2
✓ Branch 0 taken 221725 times.
✓ Branch 1 taken 44345 times.
266070 for(int32_t dy=1; dy<h-1; dy++)
2193 {
2194
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2195
2/2
✓ Branch 0 taken 133035 times.
✓ Branch 1 taken 88690 times.
221725 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2196
2197 221725 overtiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2198 221725 overtiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2199
2200
2/2
✓ Branch 0 taken 6651750 times.
✓ Branch 1 taken 221725 times.
6873475 for(int32_t dx=1; dx<w-1; dx++)
2201 {
2202
6/6
✓ Branch 0 taken 3991050 times.
✓ Branch 1 taken 2660700 times.
✓ Branch 2 taken 1995525 times.
✓ Branch 3 taken 1995525 times.
✓ Branch 4 taken 1330350 times.
✓ Branch 5 taken 1330350 times.
6651750 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2203 6651750 overtiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2204 6651750 }
2205 221725 }
2206 44345 }
2207 else
2208 {
2209
2/2
✓ Branch 0 taken 60658889 times.
✓ Branch 1 taken 17770745 times.
78429634 for(int32_t dx=0; dx<w; dx++)
2210 {
2211
6/6
✓ Branch 0 taken 38352485 times.
✓ Branch 1 taken 22306404 times.
✓ Branch 2 taken 17770745 times.
✓ Branch 3 taken 20581740 times.
✓ Branch 4 taken 4535659 times.
✓ Branch 5 taken 17770745 times.
60658889 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2212
6/6
✓ Branch 0 taken 38352485 times.
✓ Branch 1 taken 22306404 times.
✓ Branch 2 taken 17770745 times.
✓ Branch 3 taken 20581740 times.
✓ Branch 4 taken 4535659 times.
✓ Branch 5 taken 17770745 times.
60658889 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2213
2214 60658889 overtile8(dest,top,(dx<<3)+x,y,cset,0);
2215 60658889 overtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2216 60658889 }
2217
2218
2/2
✓ Branch 0 taken 36679736 times.
✓ Branch 1 taken 17770745 times.
54450481 for(int32_t dy=1; dy<h-1; dy++)
2219 {
2220
2/2
✓ Branch 0 taken 19441729 times.
✓ Branch 1 taken 17238007 times.
36679736 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2221
2/2
✓ Branch 0 taken 19441729 times.
✓ Branch 1 taken 17238007 times.
36679736 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2222
2223 36679736 overtile8(dest,left,x,(dy<<3)+y,cset,0);
2224 36679736 overtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2225
2226
2/2
✓ Branch 0 taken 62796325 times.
✓ Branch 1 taken 36679736 times.
99476061 for(int32_t dx=1; dx<w-1; dx++)
2227 {
2228
6/6
✓ Branch 0 taken 33064972 times.
✓ Branch 1 taken 29731353 times.
✓ Branch 2 taken 24695417 times.
✓ Branch 3 taken 8369555 times.
✓ Branch 4 taken 22488961 times.
✓ Branch 5 taken 7242392 times.
62796325 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2229 62796325 overtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2230 62796325 }
2231 36679736 }
2232 }
2233 17815090 }
2234 else
2235 {
2236
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 11691 times.
11691 if(trans)
2237 {
2238 for(int32_t dx=0; dx<w; dx++)
2239 {
2240 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2241 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2242
2243 puttiletranslucent8(dest,top,(dx<<3)+x,y,cset,0,128);
2244 puttiletranslucent8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0,128);
2245 }
2246
2247 for(int32_t dy=1; dy<h-1; dy++)
2248 {
2249 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2250 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2251
2252 puttiletranslucent8(dest,left,x,(dy<<3)+y,cset,0,128);
2253 puttiletranslucent8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0,128);
2254
2255 for(int32_t dx=1; dx<w-1; dx++)
2256 {
2257 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2258 puttiletranslucent8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0,128);
2259 }
2260 }
2261 }
2262 else
2263 {
2264
2/2
✓ Branch 0 taken 187056 times.
✓ Branch 1 taken 11691 times.
198747 for(int32_t dx=0; dx<w; dx++)
2265 {
2266
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t top = (dx >= (w>>1)) ? ((dx==w-1) ? t8+5 : t8+4) : ((dx==0) ? t8 : t8+1);
2267
6/6
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 93528 times.
✓ Branch 2 taken 11691 times.
✓ Branch 3 taken 81837 times.
✓ Branch 4 taken 81837 times.
✓ Branch 5 taken 11691 times.
187056 int32_t bottom = (dx >= (w>>1)) ? ((dx==w-1) ? t8+87 : t8+86) : ((dx==0) ? t8+82 : t8+83);
2268
2269 187056 oldputtile8(dest,top,(dx<<3)+x,y,cset,0);
2270 187056 oldputtile8(dest,bottom,(dx<<3)+x,((h-1)<<3)+y,cset,0);
2271 187056 }
2272
2273
2/2
✓ Branch 0 taken 93528 times.
✓ Branch 1 taken 11691 times.
105219 for(int32_t dy=1; dy<h-1; dy++)
2274 {
2275
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t left = (dy >= (h>>1)) ? t8+80 : t8+2;
2276
2/2
✓ Branch 0 taken 46764 times.
✓ Branch 1 taken 46764 times.
93528 int32_t right = (dy >= (h>>1)) ? t8+85 : t8+7;
2277
2278 93528 oldputtile8(dest,left,x,(dy<<3)+y,cset,0);
2279 93528 oldputtile8(dest,right,((w-1)<<3)+x,(dy<<3)+y,cset,0);
2280
2281
2/2
✓ Branch 0 taken 1309392 times.
✓ Branch 1 taken 93528 times.
1402920 for(int32_t dx=1; dx<w-1; dx++)
2282 {
2283
6/6
✓ Branch 0 taken 654696 times.
✓ Branch 1 taken 654696 times.
✓ Branch 2 taken 327348 times.
✓ Branch 3 taken 327348 times.
✓ Branch 4 taken 327348 times.
✓ Branch 5 taken 327348 times.
1309392 int32_t fill = (dy >= (h>>1)) ? ((dx >= (w>>1)) ? t8+84 : t8+81) : ((dx >= (w>>1)) ? t8+6 : t8+3);
2284 1309392 oldputtile8(dest,fill,(dx<<3)+x,(dy<<3)+y,cset,0);
2285 1309392 }
2286 93528 }
2287 }
2288 }
2289 17826781 }
2290
2291 2550665 void drawgrid(BITMAP *dest,int32_t x,int32_t y,int32_t c1,int32_t c2)
2292 {
2293 2550665 int32_t si=0;
2294
2295
2/2
✓ Branch 0 taken 20405320 times.
✓ Branch 1 taken 2550665 times.
22955985 for(int32_t y2=0; y2<=7; ++y2)
2296 {
2297 20405320 byte dl = DMaps[get_currdmap()].grid[si];
2298
2299
2/2
✓ Branch 0 taken 163242560 times.
✓ Branch 1 taken 20405320 times.
183647880 for(int32_t x2=0; x2<=7; ++x2)
2300 {
2301
2/2
✓ Branch 0 taken 15707392 times.
✓ Branch 1 taken 147535168 times.
163242560 if(c2==-1)
2302 {
2303
2/2
✓ Branch 0 taken 78841530 times.
✓ Branch 1 taken 68693638 times.
147535168 if(dl&0x80)
2304 68693638 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c1);
2305 147535168 }
2306 else
2307 {
2308 15707392 rectfill(dest,(x2*8)+x,(y2*4)+y,(x2*8)+x+6,(y2*4)+y+2,c2);
2309
2310
1/2
✓ Branch 0 taken 15707392 times.
✗ Branch 1 not taken.
15707392 if(dl&0x80)
2311 rectfill(dest,(x2*8)+x+2,(y2*4)+y,(x2*8)+x+4,(y2*4)+y+2,c1);
2312 }
2313
2314 163242560 dl<<=1;
2315 163242560 }
2316
2317 20405320 ++si;
2318 20405320 }
2319 2550665 }
2320
2321 3705868 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h)
2322 {
2323
2/2
✓ Branch 0 taken 11131412 times.
✓ Branch 1 taken 3705868 times.
14837280 for(int32_t j=0; j<h; j++)
2324
2/2
✓ Branch 0 taken 55879956 times.
✓ Branch 1 taken 11131412 times.
67011368 for(int32_t i=0; i<w; i++)
2325 67011368 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2326 3705868 }
2327
2328 13089944 void draw_block_flip(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h,int32_t flip,bool overlay,bool trans)
2329 {
2330
2/2
✓ Branch 0 taken 13066967 times.
✓ Branch 1 taken 22977 times.
13089944 if(overlay)
2331 {
2332
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 13066967 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
13066967 switch(flip&3)
2333 {
2334 case 0:
2335
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 13066967 times.
13066967 if(trans)
2336 {
2337 for(int32_t j=0; j<h; j++)
2338 {
2339 for(int32_t i=0; i<w; i++)
2340 {
2341 overtiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2342 }
2343 }
2344 }
2345 else
2346 {
2347
2/2
✓ Branch 0 taken 15316005 times.
✓ Branch 1 taken 13066967 times.
28382972 for(int32_t j=0; j<h; j++)
2348 {
2349
2/2
✓ Branch 0 taken 40655806 times.
✓ Branch 1 taken 15316005 times.
55971811 for(int32_t i=0; i<w; i++)
2350 {
2351 40655806 overtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2352 40655806 }
2353 15316005 }
2354 }
2355
2356 13066967 break;
2357
2358 case 1: //horizontal
2359 if(trans)
2360 {
2361 for(int32_t j=0; j<h; j++)
2362 {
2363 for(int32_t i=0; i<w; i++)
2364 {
2365 overtiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2366 }
2367 }
2368 }
2369 else
2370 {
2371 for(int32_t j=0; j<h; j++)
2372 {
2373 for(int32_t i=0; i<w; i++)
2374 {
2375 overtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2376 }
2377 }
2378 }
2379
2380 break;
2381
2382 case 2:
2383 if(trans)
2384 {
2385 for(int32_t j=0; j<h; j++)
2386 {
2387 for(int32_t i=0; i<w; i++)
2388 {
2389 overtiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2390 }
2391 }
2392 }
2393 else
2394 {
2395 for(int32_t j=0; j<h; j++)
2396 {
2397 for(int32_t i=0; i<w; i++)
2398 {
2399 overtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2400 }
2401 }
2402 }
2403
2404 break;
2405
2406 case 3:
2407 if(trans)
2408 {
2409 for(int32_t j=0; j<h; j++)
2410 {
2411 for(int32_t i=0; i<w; i++)
2412 {
2413 overtiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2414 }
2415 }
2416 }
2417 else
2418 {
2419 for(int32_t j=0; j<h; j++)
2420 {
2421 for(int32_t i=0; i<w; i++)
2422 {
2423 overtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2424 }
2425 }
2426 }
2427
2428 break;
2429 }
2430 13066967 }
2431 else
2432 {
2433
1/5
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
22977 switch(flip&3)
2434 {
2435 case 0:
2436
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 22977 times.
22977 if(trans)
2437 {
2438 for(int32_t j=0; j<h; j++)
2439 {
2440 for(int32_t i=0; i<w; i++)
2441 {
2442 puttiletranslucent16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0,255-trans);
2443 }
2444 }
2445 }
2446 else
2447 {
2448
2/2
✓ Branch 0 taken 118148 times.
✓ Branch 1 taken 22977 times.
141125 for(int32_t j=0; j<h; j++)
2449 {
2450
2/2
✓ Branch 0 taken 708888 times.
✓ Branch 1 taken 118148 times.
827036 for(int32_t i=0; i<w; i++)
2451 {
2452 708888 oldputtile16(dest,tile+j*20+i,x+(i<<4),y+(j<<4),cset,0);
2453 708888 }
2454 118148 }
2455 }
2456
2457 22977 break;
2458
2459 case 1: //horizontal
2460 if(trans)
2461 {
2462 for(int32_t j=0; j<h; j++)
2463 {
2464 for(int32_t i=0; i<w; i++)
2465 {
2466 puttiletranslucent16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1,255-trans);
2467 }
2468 }
2469 }
2470 else
2471 {
2472 for(int32_t j=0; j<h; j++)
2473 {
2474 for(int32_t i=0; i<w; i++)
2475 {
2476 oldputtile16(dest,tile+j*20+(w-i-1),x+(i<<4),y+(j<<4),cset,1);
2477 }
2478 }
2479 }
2480
2481 break;
2482
2483 case 2:
2484 if(trans)
2485 {
2486 for(int32_t j=0; j<h; j++)
2487 {
2488 for(int32_t i=0; i<w; i++)
2489 {
2490 puttiletranslucent16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2,255-trans);
2491 }
2492 }
2493 }
2494 else
2495 {
2496 for(int32_t j=0; j<h; j++)
2497 {
2498 for(int32_t i=0; i<w; i++)
2499 {
2500 oldputtile16(dest,tile+(h-j-1)*20+i,x+(i<<4),y+(j<<4),cset,2);
2501 }
2502 }
2503 }
2504
2505 break;
2506
2507 case 3:
2508 if(trans)
2509 {
2510 for(int32_t j=0; j<h; j++)
2511 {
2512 for(int32_t i=0; i<w; i++)
2513 {
2514 puttiletranslucent16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3,255-trans);
2515 }
2516 }
2517 }
2518 else
2519 {
2520 for(int32_t j=0; j<h; j++)
2521 {
2522 for(int32_t i=0; i<w; i++)
2523 {
2524 oldputtile16(dest,tile+(h-j-1)*20+(w-i-1),x+(i<<4),y+(j<<4),cset,3);
2525 }
2526 }
2527 }
2528
2529 break;
2530 }
2531 }
2532 13089944 }
2533
2534 7793559 void drawdmap(BITMAP *dest, int32_t x, int32_t y, bool showmap, int32_t showhero, int32_t showcompass, int32_t herocolor, int32_t lccolor, int32_t dccolor)
2535 {
2536 7793559 zcolors c=QMisc.colors;
2537 7793559 int32_t type = (DMaps[get_currdmap()].type&dmfTYPE);
2538
2539
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7793559 times.
7793559 if(showmap)
2540 {
2541
2/3
✓ Branch 0 taken 2494183 times.
✓ Branch 1 taken 5299376 times.
✗ Branch 2 not taken.
7793559 switch(type)
2542 {
2543 case dmOVERW:
2544 case dmBSOVERW:
2545 {
2546
3/4
✓ Branch 0 taken 31018 times.
✓ Branch 1 taken 2463165 times.
✓ Branch 2 taken 31018 times.
✗ Branch 3 not taken.
2494183 int32_t maptile=(!get_qr(qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2547
3/4
✓ Branch 0 taken 31018 times.
✓ Branch 1 taken 2463165 times.
✓ Branch 2 taken 31018 times.
✗ Branch 3 not taken.
2494183 int32_t mapcset=(!get_qr(qr_BROKEN_OVERWORLD_MINIMAP) && has_item(itype_map, get_dlevel()))?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2548 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2549
2/2
✓ Branch 0 taken 266893 times.
✓ Branch 1 taken 2227290 times.
2494183 if(maptile)
2550 {
2551 266893 draw_block(dest,x,y,maptile,mapcset,5,3);
2552 266893 }
2553
3/4
✓ Branch 0 taken 1075190 times.
✓ Branch 1 taken 1152100 times.
✓ Branch 2 taken 1075190 times.
✗ Branch 3 not taken.
2227290 else if(c.overworld_map_tile || c.overworld_map_tile)
2554 {
2555
1/2
✓ Branch 0 taken 1152100 times.
✗ Branch 1 not taken.
1152100 draw_block(dest,x,y,(c.overworld_map_tile!=0?c.overworld_map_tile:c.overworld_map_tile),c.overworld_map_cset,5,3);
2556 1152100 }
2557 else
2558 {
2559 1075190 rectfill(dest,x+8,y+8,x+71,y+39,c.overw_bg);
2560 }
2561
2562
4/4
✓ Branch 0 taken 2227290 times.
✓ Branch 1 taken 266893 times.
✓ Branch 2 taken 1981862 times.
✓ Branch 3 taken 245428 times.
2494183 if(!DMaps[get_currdmap()].minimap_1_tile && ((DMaps[get_currdmap()].type&dmfTYPE) == dmBSOVERW))
2563 {
2564 245428 drawgrid(dest,x+8,y+8,c.bs_goal,c.bs_dk);
2565 245428 }
2566
2567 2494183 break;
2568 }
2569 case dmDNGN:
2570 case dmCAVE:
2571 {
2572
2/2
✓ Branch 0 taken 2460784 times.
✓ Branch 1 taken 2838592 times.
5299376 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_tile:DMaps[get_currdmap()].minimap_1_tile;
2573
2/2
✓ Branch 0 taken 2460784 times.
✓ Branch 1 taken 2838592 times.
5299376 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].minimap_2_cset:DMaps[get_currdmap()].minimap_1_cset;
2574 //What a mess. The map drawing is based on a variable that can change states during a scrolling transition when warping. -Z
2575
2/2
✓ Branch 0 taken 458553 times.
✓ Branch 1 taken 4840823 times.
5299376 if(maptile)
2576 {
2577 458553 draw_block(dest,x,y,maptile,mapcset,5,3);
2578 458553 }
2579
3/4
✓ Branch 0 taken 3047677 times.
✓ Branch 1 taken 1793146 times.
✓ Branch 2 taken 3047677 times.
✗ Branch 3 not taken.
4840823 else if(c.dungeon_map_tile||c.dungeon_map_tile)
2580 {
2581
1/2
✓ Branch 0 taken 1793146 times.
✗ Branch 1 not taken.
1793146 draw_block(dest,x,y,(c.dungeon_map_tile!=0?c.dungeon_map_tile:c.dungeon_map_tile),c.dungeon_map_cset,5,3);
2582 1793146 }
2583 else
2584 {
2585 3047677 rectfill(dest,x+8,y+8,x+71,y+39,c.dngn_bg);
2586 }
2587 //Marking this as a possible area for the scrolling warp map bug reported by Lut. -Z
2588
4/4
✓ Branch 0 taken 4905266 times.
✓ Branch 1 taken 394110 times.
✓ Branch 2 taken 2600029 times.
✓ Branch 3 taken 2305237 times.
5299376 if(!DMaps[get_currdmap()].minimap_2_tile && has_item(itype_map, get_dlevel()))
2589 {
2590
2/2
✓ Branch 0 taken 37210 times.
✓ Branch 1 taken 2268027 times.
2305237 if((DMaps[get_currdmap()].flags&dmfMINIMAPCOLORFIX) != 0)
2591 {
2592 37210 drawgrid(dest,x+8,y+8,c.cave_fg,-1);
2593 37210 }
2594 else
2595 {
2596 2268027 drawgrid(dest,x+8,y+8,c.dngn_fg,-1);
2597 }
2598 2305237 }
2599
2600 5299376 break;
2601 }
2602 }
2603 7793559 }
2604
2605
1/2
✓ Branch 0 taken 7793559 times.
✗ Branch 1 not taken.
7793559 if(showcompass)
2606 {
2607
4/4
✓ Branch 0 taken 3253538 times.
✓ Branch 1 taken 4540021 times.
✓ Branch 2 taken 759355 times.
✓ Branch 3 taken 2494183 times.
7793559 if(type==dmDNGN || type==dmCAVE)
2608 {
2609
4/4
✓ Branch 0 taken 5295936 times.
✓ Branch 1 taken 3440 times.
✓ Branch 2 taken 2356195 times.
✓ Branch 3 taken 2939741 times.
5299376 if(show_subscreen_dmap_dots&&has_item(itype_compass, get_dlevel()))
2610 {
2611 2939741 int32_t c2 = dccolor;
2612
2613
4/4
✓ Branch 0 taken 2707941 times.
✓ Branch 1 taken 231800 times.
✓ Branch 2 taken 1365958 times.
✓ Branch 3 taken 1341983 times.
2939741 if(!has_item(itype_triforcepiece, get_dlevel()) && (frame&16))
2614 1341983 c2 = lccolor;
2615
2616 2939741 int32_t cx = ((DMaps[get_currdmap()].compass&15)<<3)+x+10;
2617 2939741 int32_t cy = ((DMaps[get_currdmap()].compass&0xF0)>>2)+y+8;
2618 2939741 putdot(dest,cx,cy,c2);
2619 2939741 }
2620 5299376 }
2621 7793559 }
2622
2623
1/2
✓ Branch 0 taken 7793559 times.
✗ Branch 1 not taken.
7793559 if(showhero)
2624 {
2625
4/4
✓ Branch 0 taken 7785559 times.
✓ Branch 1 taken 8000 times.
✓ Branch 2 taken 58 times.
✓ Branch 3 taken 7785501 times.
7793559 if(show_subscreen_dmap_dots && herocolor != 255)
2626 {
2627
2/2
✓ Branch 0 taken 2244190 times.
✓ Branch 1 taken 5541311 times.
7785501 if(type==dmOVERW)
2628 {
2629 2244190 putdot(dest,((get_homescr()&15)<<2)+x+9,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2630 2244190 }
2631
6/6
✓ Branch 0 taken 5295888 times.
✓ Branch 1 taken 245423 times.
✓ Branch 2 taken 759350 times.
✓ Branch 3 taken 4536538 times.
✓ Branch 4 taken 5082543 times.
✓ Branch 5 taken 213345 times.
5541311 else if(type==dmBSOVERW || ((type==dmDNGN || type==dmCAVE) && get_currscr()<128))
2632 {
2633 5327966 putdot(dest,(((get_homescr()&15)-DMaps[get_currdmap()].xoff)<<3)+x+10,((get_homescr()&0xF0)>>2)+y+8,herocolor);
2634 5327966 }
2635 7785501 }
2636 7793559 }
2637 7793559 }
2638
2639 7231469 void lifemeter(BITMAP *dest,int32_t x,int32_t y,int32_t cs,bool bs_style)
2640 {
2641
2/2
✓ Branch 0 taken 7222381 times.
✓ Branch 1 taken 9088 times.
7231469 if(!show_subscreen_life)
2642 {
2643 9088 return;
2644 }
2645
2646
2/2
✓ Branch 0 taken 1380667 times.
✓ Branch 1 taken 5841714 times.
7222381 if(!bs_style)
2647 {
2648 5841714 y+=24;
2649 5841714 }
2650 7222381 int32_t tile = 0;
2651 7222381 const int32_t basetile = wpnsbuf[iwQuarterHearts].tile;
2652
2/4
✓ Branch 0 taken 7222381 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 7222381 times.
✗ Branch 3 not taken.
7222381 const int32_t max_iter = (game != NULL ? zc_min(game->get_maxlife(),game->get_hp_per_heart()*24) : 1);
2653
1/2
✓ Branch 0 taken 7222381 times.
✗ Branch 1 not taken.
7222381 const int32_t inc = (game != NULL ? game->get_hp_per_heart() : 16);
2654
2655
2/2
✓ Branch 0 taken 7222381 times.
✓ Branch 1 taken 77312554 times.
84534935 for(int32_t i=0; i<max_iter; i+=inc)
2656 {
2657
1/2
✓ Branch 0 taken 77312554 times.
✗ Branch 1 not taken.
77312554 if(game != NULL)
2658 {
2659
2/2
✓ Branch 0 taken 22212507 times.
✓ Branch 1 taken 55100047 times.
77312554 if(get_qr(qr_QUARTERHEART))
2660 {
2661
2/2
✓ Branch 0 taken 3367335 times.
✓ Branch 1 taken 18845172 times.
22212507 if(i+((game->get_hp_per_heart()/4)*3)>=game->get_life()) tile= (basetile*4)+2;
2662
2663
2/2
✓ Branch 0 taken 3134567 times.
✓ Branch 1 taken 19077940 times.
22212507 if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2664
2665
2/2
✓ Branch 0 taken 2716409 times.
✓ Branch 1 taken 19496098 times.
22212507 if(i+((game->get_hp_per_heart()/4)*1)>=game->get_life()) tile= (basetile*4)+3;
2666 22212507 }
2667
2/2
✓ Branch 0 taken 12633214 times.
✓ Branch 1 taken 42466833 times.
55100047 else if(i+(game->get_hp_per_heart()/2)>=game->get_life()) tile=1;
2668
2669
2/2
✓ Branch 0 taken 63735998 times.
✓ Branch 1 taken 13576556 times.
77312554 if(i>=game->get_life()) tile=4;
2670 77312554 }
2671 else
2672 tile=4;
2673
2674 77312554 overtile8(dest,tile,x,y,cs,0);
2675 77312554 x+=8;
2676
2677
2/2
✓ Branch 0 taken 70828175 times.
✓ Branch 1 taken 6484379 times.
77312554 if(((i>>4)&7)==7)
2678 {
2679 6484379 x-=64;
2680 6484379 y+=bs_style?8:-8;
2681 6484379 }
2682 77312554 }
2683 7231469 }
2684
2685 15761459 void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2686 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last, int32_t show)
2687 {
2688 //these are here to bypass compiler warnings about unused arguments
2689 15761459 frames=frames;
2690 15761459 speed=speed;
2691 15761459 delay=delay;
2692
2693 // show
2694 // <0: always
2695 // >=0: when drain rate matches show
2696
2/2
✓ Branch 0 taken 8993440 times.
✓ Branch 1 taken 6768019 times.
15761459 if(show > -1)
2697 {
2698
2/2
✓ Branch 0 taken 562090 times.
✓ Branch 1 taken 6205929 times.
6768019 if(show != game->get_magicdrainrate())
2699 562090 return;
2700 6205929 }
2701
2702 15199369 int32_t containers=game->get_maxmagic()/game->get_mp_per_block();
2703 15199369 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2704 15199369 bool mod_value=(zc_oldrand()%2)!=0;
2705
2706
2/2
✓ Branch 0 taken 5796198 times.
✓ Branch 1 taken 9403171 times.
15199369 if(container<containers)
2707 {
2708 5796198 tile=notlast_tile;
2709 5796198 cset=notlast_cset;
2710 5796198 mod_value=notlast_mod;
2711 5796198 }
2712
2/2
✓ Branch 0 taken 734267 times.
✓ Branch 1 taken 8668904 times.
9403171 else if(container==containers)
2713 {
2714 734267 tile=last_tile;
2715 734267 cset=last_cset;
2716 734267 mod_value=last_mod;
2717 734267 }
2718
2/2
✓ Branch 0 taken 831913 times.
✓ Branch 1 taken 7836991 times.
8668904 else if(container==containers+1)
2719 {
2720 831913 tile=cap_tile;
2721 831913 cset=cap_cset;
2722 831913 mod_value=cap_mod;
2723 831913 }
2724 else //if (container>containers+1)
2725 {
2726 7836991 tile=aftercap_tile;
2727 7836991 cset=aftercap_cset;
2728 7836991 mod_value=aftercap_mod;
2729 }
2730
2731
2/2
✓ Branch 0 taken 8668904 times.
✓ Branch 1 taken 6530465 times.
15199369 if(mod_value)
2732 {
2733
2/2
✓ Branch 0 taken 5518268 times.
✓ Branch 1 taken 1012197 times.
6530465 if(game->get_magic()>=container*game->get_mp_per_block())
2734 {
2735 //tile=tile; //full block
2736
2/2
✓ Branch 0 taken 5170783 times.
✓ Branch 1 taken 347485 times.
5518268 if(game->get_magic()==container*game->get_mp_per_block())
2737 {
2738
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 347485 times.
347485 if(unique_last)
2739 {
2740 tile+=game->get_mp_per_block()+3;
2741 }
2742 347485 }
2743 5518268 }
2744 else
2745 {
2746
2/2
✓ Branch 0 taken 587968 times.
✓ Branch 1 taken 424229 times.
1012197 if(((container-1)*game->get_mp_per_block())>game->get_magic())
2747 {
2748 587968 tile+=4; //empty block
2749 587968 }
2750 else
2751 {
2752 424229 tile+=4+((game->get_magic()-((container-1)*game->get_mp_per_block()))%game->get_mp_per_block());
2753 }
2754 }
2755 6530465 }
2756
2757 //tile=14161*4;
2758 15199369 overtile8(dest,tile,x,y,cset,0);
2759
2760 15761459 }
2761
2762 44719800 void lifegauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
2763 int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last)
2764 {
2765 //these are here to bypass compiler warnings about unused arguments
2766 44719800 frames=frames;
2767 44719800 speed=speed;
2768 44719800 delay=delay;
2769
2770 44719800 int32_t containers=game->get_maxlife()/game->get_hp_per_heart();
2771 44719800 int32_t tile=zc_oldrand()%32767, cset=zc_oldrand()%15;
2772 44719800 bool mod_value=(zc_oldrand()%2)!=0;
2773
2774
2/2
✓ Branch 0 taken 10811633 times.
✓ Branch 1 taken 33908167 times.
44719800 if(container<containers)
2775 {
2776 10811633 tile=notlast_tile;
2777 10811633 cset=notlast_cset;
2778 10811633 mod_value=notlast_mod;
2779 10811633 }
2780
2/2
✓ Branch 0 taken 2305026 times.
✓ Branch 1 taken 31603141 times.
33908167 else if(container==containers)
2781 {
2782 2305026 tile=last_tile;
2783 2305026 cset=last_cset;
2784 2305026 mod_value=last_mod;
2785 2305026 }
2786
2/2
✓ Branch 0 taken 2208002 times.
✓ Branch 1 taken 29395139 times.
31603141 else if(container==containers+1)
2787 {
2788 2208002 tile=cap_tile;
2789 2208002 cset=cap_cset;
2790 2208002 mod_value=cap_mod;
2791 2208002 }
2792 else //if (container>containers+1)
2793 {
2794 29395139 tile=aftercap_tile;
2795 29395139 cset=aftercap_cset;
2796 29395139 mod_value=aftercap_mod;
2797 }
2798
2799
2/2
✓ Branch 0 taken 31603141 times.
✓ Branch 1 taken 13116659 times.
44719800 if(mod_value)
2800 {
2801
2/2
✓ Branch 0 taken 9752366 times.
✓ Branch 1 taken 3364293 times.
13116659 if(game->get_life()>=container*game->get_hp_per_heart())
2802 {
2803 //tile=tile; //full block
2804
2/2
✓ Branch 0 taken 8331588 times.
✓ Branch 1 taken 1420778 times.
9752366 if(game->get_life()==container*game->get_hp_per_heart())
2805 {
2806
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1420778 times.
1420778 if(unique_last)
2807 {
2808 tile+=game->get_hp_per_heart()+3;
2809 }
2810 1420778 }
2811 9752366 }
2812 else
2813 {
2814
2/2
✓ Branch 0 taken 2180670 times.
✓ Branch 1 taken 1183623 times.
3364293 if(((container-1)*game->get_hp_per_heart())>game->get_life())
2815 {
2816 2180670 tile+=4; //empty block
2817 2180670 }
2818 else
2819 {
2820 1183623 tile+=4+((game->get_life()-((container-1)*game->get_hp_per_heart()))%game->get_hp_per_heart());
2821 }
2822 }
2823 13116659 }
2824
2825 44719800 overtile8(dest,tile,x,y,cset,0);
2826
2827 44719800 }
2828
2829
2830 2602583 void magicmeter(BITMAP *dest,int32_t x,int32_t y)
2831 {
2832
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2602583 times.
2602583 if(!get_qr(qr_ENABLEMAGIC)) return;
2833
2834
2/2
✓ Branch 0 taken 2513524 times.
✓ Branch 1 taken 89059 times.
2602583 if(game->get_maxmagic()==0) return;
2835
2836 int32_t tile;
2837 2513524 int32_t mmtile=wpnsbuf[iwMMeter].tile;
2838 2513524 int32_t mmcset=wpnsbuf[iwMMeter].csets&15;
2839 2513524 overtile8(dest,(mmtile*4)+2,x-8,y,mmcset,0);
2840
2841
2/2
✓ Branch 0 taken 871195 times.
✓ Branch 1 taken 1642329 times.
2513524 if(game->get_magicdrainrate()==1)
2842 {
2843 871195 overtile8(dest,(mmtile*4)+1,x-10,y,mmcset,0);
2844 871195 }
2845
2846
2/2
✓ Branch 0 taken 6083324 times.
✓ Branch 1 taken 2513524 times.
8596848 for(int32_t i=0; i<game->get_maxmagic(); i+=game->get_mp_per_block())
2847 {
2848
2/2
✓ Branch 0 taken 4867204 times.
✓ Branch 1 taken 1216120 times.
6083324 if(game->get_magic()>=i+game->get_mp_per_block())
2849 {
2850 4867204 tile=mmtile*4; //full block
2851 4867204 }
2852 else
2853 {
2854
2/2
✓ Branch 0 taken 251981 times.
✓ Branch 1 taken 964139 times.
1216120 if(i>game->get_magic())
2855 {
2856 251981 tile=((mmtile+1)*4); //empty block
2857 251981 }
2858 else
2859 {
2860 964139 tile=((mmtile+1)*4)+((game->get_magic()-i)%game->get_mp_per_block());
2861 }
2862 }
2863
2864 6083324 overtile8(dest,tile,x,y,mmcset,0);
2865 6083324 x+=8;
2866 6083324 }
2867
2868 2513524 overtile8(dest,(mmtile*4)+3,x,y,mmcset,0);
2869
2870 2602583 }
2871
2872 19842178 void putxnum(BITMAP *dest,int32_t x,int32_t y,int32_t num,FONT *tempfont,int32_t color,int32_t shadowcolor,int32_t bgcolor,int32_t textstyle,bool usex,int32_t digits,bool infinite,char idigit)
2873 {
2874
2/2
✓ Branch 0 taken 27264 times.
✓ Branch 1 taken 19814914 times.
19842178 if(!show_subscreen_numbers)
2875 {
2876 27264 return;
2877 }
2878
2879 19814914 int32_t found_digits=5;
2880
2881
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19814914 times.
19814914 if(num<10000)
2882 {
2883 19814914 found_digits=4;
2884 19814914 }
2885
2886
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 19814914 times.
19814914 if(num<1000)
2887 {
2888 19814914 found_digits=3;
2889 19814914 }
2890
2891
2/2
✓ Branch 0 taken 4427811 times.
✓ Branch 1 taken 15387103 times.
19814914 if(num<100)
2892 {
2893 15387103 found_digits=2;
2894 15387103 }
2895
2896
2/2
✓ Branch 0 taken 8179735 times.
✓ Branch 1 taken 11635179 times.
19814914 if(num<10)
2897 {
2898 11635179 found_digits=1;
2899 11635179 }
2900
2901
2/2
✓ Branch 0 taken 1088842 times.
✓ Branch 1 taken 18726072 times.
19814914 if(infinite)
2902 {
2903 1088842 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%c",usex?"X":"",idigit);
2904 1088842 }
2905 else
2906 {
2907
1/2
✓ Branch 0 taken 18726072 times.
✗ Branch 1 not taken.
18726072 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,sstaLEFT,color,shadowcolor,bgcolor,"%s%d",(usex && found_digits<digits)?"X":"",num);
2908 }
2909 19842178 }
2910
2911 /*
2912 INLINE void putdot(BITMAP *dest,int32_t x,int32_t y,int32_t c)
2913 {
2914 rectfill(dest,x,y,x+2,y+2,c);
2915 }
2916 */
2917
2918 /**** Subscr items code ****/
2919
2920 item *Bitem = NULL, *Aitem = NULL, *Yitem = NULL, *Xitem = NULL;
2921 int32_t Bid = 0, Aid = 0, Xid = 0, Yid = 0;
2922
2923 121 void reset_subscr_items()
2924 {
2925
2/2
✓ Branch 0 taken 42 times.
✓ Branch 1 taken 79 times.
121 if(Aitem)
2926 {
2927
1/2
✓ Branch 0 taken 79 times.
✗ Branch 1 not taken.
79 delete Aitem;
2928 79 Aitem = NULL;
2929 79 }
2930
2931
2/2
✓ Branch 0 taken 46 times.
✓ Branch 1 taken 75 times.
121 if(Bitem)
2932 {
2933
1/2
✓ Branch 0 taken 75 times.
✗ Branch 1 not taken.
75 delete Bitem;
2934 75 Bitem = NULL;
2935 75 }
2936
2/2
✓ Branch 0 taken 120 times.
✓ Branch 1 taken 1 times.
121 if(Yitem)
2937 {
2938
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Yitem;
2939 1 Yitem = NULL;
2940 1 }
2941
2942
2/2
✓ Branch 0 taken 120 times.
✓ Branch 1 taken 1 times.
121 if(Xitem)
2943 {
2944
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 delete Xitem;
2945 1 Xitem = NULL;
2946 1 }
2947
2948 121 Aid = Bid = Yid = Xid = 0;
2949 121 }
2950
2951
2952 8805029 void update_subscr_items()
2953 {
2954
2/2
✓ Branch 0 taken 8796786 times.
✓ Branch 1 taken 8243 times.
8805029 if(Bid != Bwpn)
2955 {
2956 8243 Bid = 0;
2957
2958
2/2
✓ Branch 0 taken 171 times.
✓ Branch 1 taken 8072 times.
8243 if(Bitem)
2959 {
2960
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 8072 times.
8072 delete Bitem;
2961 8072 Bitem = NULL;
2962 8072 }
2963
2964
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 8237 times.
8243 if(Bwpn > 0)
2965 {
2966
4/8
✓ Branch 0 taken 8237 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 8237 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 8237 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 8237 times.
✗ Branch 7 not taken.
8237 Bitem = new item((zfix)0, (zfix)0, (zfix)0, Bwpn&0x0FFF, 0, 0);
2967 8237 Bitem->dummy_bool[0]=false;
2968
2969
2/2
✓ Branch 0 taken 7096 times.
✓ Branch 1 taken 1141 times.
8237 switch(itemsbuf[Bwpn&0x0FFF].family)
2970 {
2971 case itype_arrow:
2972
1/2
✓ Branch 0 taken 1141 times.
✗ Branch 1 not taken.
1141 if((Bwpn&0xF000)==0xF000)
2973 {
2974 Bitem->dummy_bool[0]=true;
2975 }
2976
2977 1141 break;
2978 //default: break;
2979 }
2980
2981 // Bitem = new item((zfix)(zinit.subscreen<ssdtBSZELDA?124:136), (zfix)24,(zfix)0, Bwpn, 0, 0);
2982
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 8237 times.
8237 if(Bitem != NULL)
2983 {
2984 8237 Bid = Bwpn;
2985 8237 Bitem->yofs = 0;
2986 8237 Bitem->pickup |= ipDUMMY;
2987 8237 }
2988 8237 }
2989 8243 }
2990
2991
2/2
✓ Branch 0 taken 8804819 times.
✓ Branch 1 taken 210 times.
8805029 if(Aid != Awpn)
2992 {
2993 210 Aid = 0;
2994
2995
2/2
✓ Branch 0 taken 172 times.
✓ Branch 1 taken 38 times.
210 if(Aitem)
2996 {
2997
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 38 times.
38 delete Aitem;
2998 38 Aitem = NULL;
2999 38 }
3000
3001
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 210 times.
210 if(Awpn > 0)
3002 {
3003
4/8
✓ Branch 0 taken 210 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 210 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 210 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 210 times.
✗ Branch 7 not taken.
210 Aitem = new item((zfix)0, (zfix)0,(zfix)0,Awpn&0x0FFF, 0, 0);
3004
3005
1/2
✓ Branch 0 taken 210 times.
✗ Branch 1 not taken.
210 switch(itemsbuf[Awpn&0x0FFF].family)
3006 {
3007 case itype_arrow:
3008 if((Awpn&0xF000)==0xF000)
3009 {
3010 Aitem->dummy_bool[0]=true;
3011 }
3012
3013 break;
3014 //default: break;
3015 }
3016
3017
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 210 times.
210 if(Aitem != NULL)
3018 {
3019 210 Aid = Awpn;
3020 210 Aitem->yofs = 0;
3021 210 Aitem->pickup |= ipDUMMY;
3022 210 }
3023 210 }
3024 210 }
3025
3026
2/2
✓ Branch 0 taken 8805019 times.
✓ Branch 1 taken 10 times.
8805029 if(Xid != Xwpn)
3027 {
3028 10 Xid = 0;
3029
3030
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 4 times.
10 if(Xitem)
3031 {
3032
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4 times.
4 delete Xitem;
3033 4 Xitem = NULL;
3034 4 }
3035
3036
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 6 times.
10 if(Xwpn > 0)
3037 {
3038
4/8
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 6 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 6 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 6 times.
✗ Branch 7 not taken.
6 Xitem = new item((zfix)0, (zfix)0,(zfix)0,Xwpn&0x0FFF, 0, 0);
3039
3040
1/2
✓ Branch 0 taken 6 times.
✗ Branch 1 not taken.
6 switch(itemsbuf[Xwpn&0x0FFF].family)
3041 {
3042 case itype_arrow:
3043 if((Xwpn&0xF000)==0xF000)
3044 {
3045 Xitem->dummy_bool[0]=true;
3046 }
3047
3048 break;
3049 //default: break;
3050 }
3051
3052
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 6 times.
6 if(Xitem != NULL)
3053 {
3054 6 Xid = Xwpn;
3055 6 Xitem->yofs = 0;
3056 6 Xitem->pickup |= ipDUMMY;
3057 6 }
3058 6 }
3059 10 }
3060
3061
2/2
✓ Branch 0 taken 8805010 times.
✓ Branch 1 taken 19 times.
8805029 if(Yid != Ywpn)
3062 {
3063 19 Yid = 0;
3064
3065
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 14 times.
19 if(Yitem)
3066 {
3067
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 14 times.
14 delete Yitem;
3068 14 Yitem = NULL;
3069 14 }
3070
3071
2/2
✓ Branch 0 taken 3 times.
✓ Branch 1 taken 16 times.
19 if(Ywpn > 0)
3072 {
3073
4/8
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 16 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 16 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 16 times.
✗ Branch 7 not taken.
16 Yitem = new item((zfix)0, (zfix)0,(zfix)0,Ywpn&0x0FFF, 0, 0);
3074
3075
1/2
✓ Branch 0 taken 16 times.
✗ Branch 1 not taken.
16 switch(itemsbuf[Ywpn&0x0FFF].family)
3076 {
3077 case itype_arrow:
3078 if((Ywpn&0xF000)==0xF000)
3079 {
3080 Yitem->dummy_bool[0]=true;
3081 }
3082
3083 break;
3084 //default: break;
3085 }
3086
3087
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 16 times.
16 if(Yitem != NULL)
3088 {
3089 16 Yid = Ywpn;
3090 16 Yitem->yofs = 0;
3091 16 Yitem->pickup |= ipDUMMY;
3092 16 }
3093 16 }
3094 19 }
3095
3096
2/2
✓ Branch 0 taken 563057 times.
✓ Branch 1 taken 8241972 times.
8805029 if(Bitem)
3097 8241972 Bitem->animate(0);
3098
3099
2/2
✓ Branch 0 taken 535446 times.
✓ Branch 1 taken 8269583 times.
8805029 if(Aitem)
3100 8269583 Aitem->animate(0);
3101
3102
2/2
✓ Branch 0 taken 8778200 times.
✓ Branch 1 taken 26829 times.
8805029 if(Xitem)
3103 26829 Xitem->animate(0);
3104
3105
2/2
✓ Branch 0 taken 8728793 times.
✓ Branch 1 taken 76236 times.
8805029 if(Yitem)
3106 76236 Yitem->animate(0);
3107 8805029 }
3108
3109 615214 void add_subscr_item(item *newItem)
3110 {
3111 //al_trace("Adding a subscreen item, ID: %d\n",newItem->id); //Logging stuff to remove, later.
3112 615214 newItem->subscreenItem=true;
3113 615214 newItem->hide_hitbox=true;
3114 615214 Sitems.add(newItem);
3115 615214 }
3116
3117 /****/
3118 16126764 int32_t stripspaces(char *source, char *target, int32_t stop)
3119 {
3120 int32_t begin, end;
3121
3122
4/4
✓ Branch 0 taken 6983635 times.
✓ Branch 1 taken 88639870 times.
✓ Branch 2 taken 79496741 times.
✓ Branch 3 taken 16126764 times.
95623505 for(begin=0; ((begin<stop)&&(source[begin]==' ')); ++begin)
3123 {
3124 /* do nothing */
3125 79496741 }
3126
3127
2/2
✓ Branch 0 taken 6983635 times.
✓ Branch 1 taken 9143129 times.
16126764 if(begin==stop)
3128 {
3129 6983635 return 0;
3130 }
3131
3132
2/2
✓ Branch 0 taken 20461857 times.
✓ Branch 1 taken 9143129 times.
29604986 for(end=stop-1; source[end]==' '; --end)
3133 {
3134 /* do nothing */
3135 20461857 }
3136
3137 9143129 sprintf(target, "%.*s", (end-begin+1), source+begin);
3138 9143129 return (end-begin+1);
3139 16126764 }
3140
3141 bool findWeaponWithParent(int32_t id, int32_t type)
3142 {
3143 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3144 {
3145 weapon *ew = (weapon*)(Lwpns.spr(q));
3146 if (ew->id != type || ew->parentitem != id) continue;
3147 return true;
3148 }
3149 return false;
3150 }
3151
3152 int32_t countWeaponWithParent(int32_t id, int32_t type)
3153 {
3154 int32_t count = 0;
3155 for (int32_t q = Lwpns.Count()-1; q >= 0; --q)
3156 {
3157 weapon *ew = (weapon*)(Lwpns.spr(q));
3158 if (ew->id != type || ew->parentitem != id) continue;
3159 ++count;
3160 }
3161 return count;
3162 }
3163
3164 // The conditions on which a subcreen item should be displayed.
3165 3830432 bool displaysubscreenitem(int32_t itemtype, int32_t d, int32_t id)
3166 {
3167
1/2
✓ Branch 0 taken 3830432 times.
✗ Branch 1 not taken.
3830432 if(game==NULL) //ZQuest
3168 return true;
3169
2/2
✓ Branch 0 taken 176356 times.
✓ Branch 1 taken 3654076 times.
3830432 if (get_qr(qr_NEVERDISABLEAMMOONSUBSCREEN)) return true;
3170 //Okay, so the problem is that remote bombs are getting flagged with misc1 50, because
3171 //current item id is referring to your highest levelled item instead of the actual item.
3172 //Solution here is to have code for override items.
3173
2/2
✓ Branch 0 taken 1371 times.
✓ Branch 1 taken 3652705 times.
3654076 if (id < 0)
3174 {
3175
2/2
✓ Branch 0 taken 185070 times.
✓ Branch 1 taken 3467635 times.
3652705 if((itemtype == itype_bomb &&
3176 185070 !(game->get_bombs()
3177 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3178
3/4
✓ Branch 0 taken 1053 times.
✓ Branch 1 taken 184017 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1053 times.
185070 || (itemsbuf[current_item_id(itype_bomb)].misc1==0 && Lwpns.idCount(wLitBomb)>0)
3179 1053 || current_item_power(itype_bombbag)))
3180
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1053 times.
✓ Branch 2 taken 84715 times.
✓ Branch 3 taken 3566937 times.
3652705 || (itemtype == itype_sbomb &&
3181 84715 !(game->get_sbombs()
3182
3/4
✓ Branch 0 taken 24082 times.
✓ Branch 1 taken 60633 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 24082 times.
84715 || (itemsbuf[current_item_id(itype_sbomb)].misc1==0 && Lwpns.idCount(wLitSBomb)>0)
3183 24082 || (current_item_power(itype_bombbag)
3184
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 24082 times.
24082 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3185 25135 return false;
3186
3187
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3627570 times.
3627570 if(itemtype!=itype_bowandarrow ||
3188 d!=itype_arrow ||
3189 ((get_qr(qr_TRUEARROWS)&&game->get_arrows()) ||
3190 (!get_qr(qr_TRUEARROWS)&&game->get_rupies())))
3191 3627570 return true;
3192
3193 return false;
3194 }
3195 else
3196 {
3197
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if((itemtype == itype_bomb &&
3198 !(game->get_bombs()
3199 // Remote Bombs: the bomb icon can still be used when an undetonated bomb is onscreen.
3200 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitBomb))
3201 || current_item_power(itype_bombbag)))
3202
1/4
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 1371 times.
1371 || (itemtype == itype_sbomb &&
3203 !(game->get_sbombs()
3204 || (itemsbuf[id].misc1==0 && findWeaponWithParent(id, wLitSBomb))
3205 || (current_item_power(itype_bombbag)
3206 && itemsbuf[current_item_id(itype_bombbag)].flags & ITEM_FLAG1))))
3207 return false;
3208
3209
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 1371 times.
1371 if(itemtype!=itype_bowandarrow ||
3210 d!=itype_arrow ||
3211 ((get_qr(qr_TRUEARROWS)&&game->get_arrows()) ||
3212 (!get_qr(qr_TRUEARROWS)&&game->get_rupies())))
3213 1371 return true;
3214
3215 return false;
3216 }
3217 3830432 }
3218
3219 338551 int32_t get_subscreenitem_id(int32_t itemtype, bool forceItem)
3220 {
3221
3/4
✓ Branch 0 taken 338551 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 338311 times.
✓ Branch 3 taken 240 times.
338551 if(forceItem && (itemtype & 0x8000))
3222 240 return itemtype&0xFFF;
3223 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3224 338311 int32_t overridecheck = 0xFFFF;
3225
3226
2/2
✓ Branch 0 taken 4339421 times.
✓ Branch 1 taken 12170 times.
4351591 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3227 {
3228
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4339421 times.
4339421 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3229 {
3230 if(overridecheck==0xFFFF)
3231 {
3232 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3233 }
3234 }
3235
2/2
✓ Branch 0 taken 11312 times.
✓ Branch 1 taken 4328109 times.
4339421 else if(Sitems.spr(i)->misc!=-1)
3236 {
3237 4328109 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3238
3239
2/2
✓ Branch 0 taken 4006870 times.
✓ Branch 1 taken 321239 times.
4328109 if((d==itemtype)||
3240
6/6
✓ Branch 0 taken 64836 times.
✓ Branch 1 taken 3942034 times.
✓ Branch 2 taken 612 times.
✓ Branch 3 taken 64224 times.
✓ Branch 4 taken 59934 times.
✓ Branch 5 taken 4902 times.
4006870 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3241
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 4001968 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
4001968 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3242 {
3243 326141 return Sitems.spr(i)->id;
3244 }
3245 4001968 }
3246 4013280 }
3247
1/2
✓ Branch 0 taken 12170 times.
✗ Branch 1 not taken.
12170 if(forceItem)
3248 {
3249 12170 bool useLowestID = get_qr(qr_SUBSCR_BACKWARDS_ID_ORDER);
3250 12170 int32_t id = -1;
3251
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 148486 times.
148640 for(auto q = 0; q < MAXITEMS; ++q)
3252 {
3253
2/2
✓ Branch 0 taken 136316 times.
✓ Branch 1 taken 12170 times.
148486 if(itemsbuf[q].family == itemtype)
3254 {
3255 12170 id = q;
3256
2/2
✓ Branch 0 taken 154 times.
✓ Branch 1 taken 12016 times.
12170 if(useLowestID) break;
3257 154 }
3258 136470 }
3259 12170 return id;
3260 }
3261
3262 //Item Override stuff here
3263 if((itemtype & 0x8000) &&
3264 (!game || game->item[itemtype&0xFFF])
3265 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3266 {
3267 return itemtype&0xFFF;
3268 }
3269 return -1;
3270 338551 }
3271
3272 item* get_subscreenitem(int32_t itemtype)
3273 {
3274 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3275 int32_t overridecheck = 0xFFFF;
3276
3277 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3278 {
3279 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3280 {
3281 if(overridecheck==0xFFFF)
3282 {
3283 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3284 }
3285 }
3286 else if(Sitems.spr(i)->misc!=-1)
3287 {
3288 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3289
3290 if((d==itemtype)||
3291 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3292 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3293 {
3294 return (item*)Sitems.spr(i);
3295 }
3296 }
3297 }
3298
3299 //Item Override stuff here
3300 if((itemtype & 0x8000) &&
3301 (!game || game->item[itemtype&0xFFF])
3302 && !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3303 {
3304 if(overridecheck == 0xFFFF)
3305 {
3306 overridecheck = Sitems.Count()-1;
3307 }
3308 return (item*)Sitems.spr(overridecheck);
3309 }
3310 return NULL;
3311 }
3312
3313
3314 5865326 void subscreenitem(BITMAP *dest, int32_t x, int32_t y, int32_t itemtype)
3315 {
3316 // We need to do a reverse loop to prevent the Bow from being drawn above the Arrow (Bow & Arrow).
3317 5865326 int32_t overridecheck = 0xFFFF;
3318
3319
2/2
✓ Branch 0 taken 2039528 times.
✓ Branch 1 taken 79348094 times.
81387622 for(int32_t i=Sitems.Count()-1; i>=0; i--)
3320 {
3321
2/2
✓ Branch 0 taken 226774 times.
✓ Branch 1 taken 79121320 times.
79348094 if(itemtype & 0x8000) // if 0x8000, then itemtype is actually an item ID.
3322 {
3323
2/2
✓ Branch 0 taken 207578 times.
✓ Branch 1 taken 19196 times.
226774 if(overridecheck==0xFFFF)
3324 {
3325 //al_trace("Found an override item at subscreen.cpp linere 3084, id: %d\n",Sitems.spr(i)->id);
3326
3327
4/4
✓ Branch 0 taken 4610 times.
✓ Branch 1 taken 14586 times.
✓ Branch 2 taken 27 times.
✓ Branch 3 taken 4583 times.
19196 if(Sitems.spr(i)->id == (itemtype&0xFFF) && Sitems.spr(i)->misc==-1) overridecheck = i;
3328 19196 }
3329 226774 }
3330
2/2
✓ Branch 0 taken 201787 times.
✓ Branch 1 taken 78919533 times.
79121320 else if(Sitems.spr(i)->misc!=-1)
3331 {
3332 78919533 int32_t d= itemsbuf[Sitems.spr(i)->id].family;
3333
3334
2/2
✓ Branch 0 taken 75251596 times.
✓ Branch 1 taken 3667937 times.
78919533 if((d==itemtype)||
3335
6/6
✓ Branch 0 taken 2461978 times.
✓ Branch 1 taken 72789618 times.
✓ Branch 2 taken 29949 times.
✓ Branch 3 taken 2432029 times.
✓ Branch 4 taken 157861 times.
✓ Branch 5 taken 2304117 times.
75251596 (itemtype==itype_letterpotion&&((d==itype_letter && current_item_id(itype_potion)==-1)||d==itype_potion))||
3336
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 75093735 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
75093735 (itemtype==itype_bowandarrow&&(d==itype_bow||d==itype_arrow)))
3337 {
3338 3825798 Sitems.spr(i)->x = x;
3339 3825798 Sitems.spr(i)->y = y;
3340 3825798 Sitems.spr(i)->yofs=0;
3341
3342
2/2
✓ Branch 0 taken 25135 times.
✓ Branch 1 taken 3800663 times.
3825798 if(displaysubscreenitem(itemtype, d, -1))
3343 {
3344 3800663 Sitems.spr(i)->drawzcboss(dest);
3345 3800663 }
3346
3347
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3825798 times.
3825798 if(itemtype!=itype_bowandarrow)
3348 {
3349 3825798 return;
3350 }
3351 }
3352 75093735 }
3353 75522296 }
3354
3355 //Item Override stuff here
3356
3/4
✓ Branch 0 taken 2033633 times.
✓ Branch 1 taken 5895 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 4634 times.
2044162 if((itemtype & 0x8000) &&
3357
3/4
✓ Branch 0 taken 5895 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4634 times.
✓ Branch 3 taken 1261 times.
5895 (get_app_id() == App::zelda ? game->item[itemtype&0xFFF] : true) &&
3358 4634 !item_disabled(itemtype&0xFFF) && displaysubscreenitem(itemsbuf[itemtype&0xFFF].family, 0, (itemtype&0xFFF)))
3359 {
3360
2/2
✓ Branch 0 taken 4583 times.
✓ Branch 1 taken 51 times.
4634 if(overridecheck == 0xFFFF)
3361 {
3362 //al_trace("Found an override item at subscreen.cpp linere 3120, itemtype: %d\n",itemtype);
3363
3364
4/8
✓ Branch 0 taken 51 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 51 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 51 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 51 times.
✗ Branch 7 not taken.
51 add_subscr_item(new item((zfix)x,(zfix)y,(zfix)0,(itemtype&0xFFF),0,0));
3365 51 overridecheck = Sitems.Count()-1;
3366 51 Sitems.spr(overridecheck)->misc = -1;
3367 51 }
3368
3369 4634 Sitems.spr(overridecheck)->x = x;
3370 4634 Sitems.spr(overridecheck)->y = y;
3371 4634 Sitems.spr(overridecheck)->yofs=0;
3372 4634 Sitems.spr(overridecheck)->drawzcboss(dest);
3373 4634 }
3374 5865326 }
3375
3376 198205457 int32_t subscreen_color(int32_t c1, int32_t c2)
3377 {
3378 int32_t ret;
3379
3380
3/3
✓ Branch 0 taken 69675361 times.
✓ Branch 1 taken 18062288 times.
✓ Branch 2 taken 110467808 times.
198205457 switch(c1)
3381 {
3382 case ssctSYSTEM:
3383
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 18062288 times.
18062288 ret=(c2==-1)?c2:vc(c2);
3384 18062288 break;
3385
3386 case ssctMISC:
3387
9/17
✗ Branch 0 not taken.
✓ Branch 1 taken 39544603 times.
✓ Branch 2 taken 8815801 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
✗ Branch 8 not taken.
✓ Branch 9 taken 7749214 times.
✓ Branch 10 taken 7749214 times.
✓ Branch 11 taken 38410584 times.
✗ Branch 12 not taken.
✓ Branch 13 taken 46758 times.
✓ Branch 14 taken 14549 times.
✓ Branch 15 taken 186661 times.
✓ Branch 16 taken 7950424 times.
110467808 switch(c2)
3388 {
3389 case ssctTEXT:
3390 39544603 ret=QMisc.colors.text;
3391 39544603 break;
3392
3393 case ssctCAPTION:
3394 8815801 ret=QMisc.colors.caption;
3395 8815801 break;
3396
3397 case ssctOVERWBG:
3398 ret=QMisc.colors.overw_bg;
3399 break;
3400
3401 case ssctDNGNBG:
3402 ret=QMisc.colors.dngn_bg;
3403 break;
3404
3405 case ssctDNGNFG:
3406 ret=QMisc.colors.dngn_fg;
3407 break;
3408
3409 case ssctCAVEFG:
3410 ret=QMisc.colors.cave_fg;
3411 break;
3412
3413 case ssctBSDK:
3414 ret=QMisc.colors.bs_dk;
3415 break;
3416
3417 case ssctBSGOAL:
3418 ret=QMisc.colors.bs_goal;
3419 break;
3420
3421 case ssctCOMPASSLT:
3422 7749214 ret=QMisc.colors.compass_lt;
3423 7749214 break;
3424
3425 case ssctCOMPASSDK:
3426 7749214 ret=QMisc.colors.compass_dk;
3427 7749214 break;
3428
3429 case ssctSUBSCRBG:
3430 38410584 ret=QMisc.colors.subscr_bg;
3431 38410584 break;
3432
3433 case ssctSUBSCRSHADOW:
3434 ret=QMisc.colors.subscr_shadow;
3435 break;
3436
3437 case ssctTRIFRAMECOLOR:
3438 46758 ret=QMisc.colors.triframe_color;
3439 46758 break;
3440
3441 case ssctBMAPBG:
3442 14549 ret=QMisc.colors.bmap_bg;
3443 14549 break;
3444
3445 case ssctBMAPFG:
3446 186661 ret=QMisc.colors.bmap_fg;
3447 186661 break;
3448
3449 case ssctHERODOT:
3450 7950424 ret=QMisc.colors.hero_dot;
3451 7950424 break;
3452
3453 default:
3454 ret=(zc_oldrand()*1000)%256;
3455 break;
3456 }
3457
3458 110467808 break;
3459
3460 default:
3461 69675361 ret=(c1<<4)+c2;
3462 69675361 }
3463
3464 198205457 return ret;
3465 }
3466
3467
3468
3469 44638905 int32_t subscreen_cset(int32_t c1, int32_t c2)
3470 {
3471 44638905 int32_t ret=c1;
3472
3473
2/2
✓ Branch 0 taken 29805189 times.
✓ Branch 1 taken 14833716 times.
44638905 switch(c1)
3474 {
3475 case ssctMISC:
3476
1/8
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 14833716 times.
✗ Branch 6 not taken.
✗ Branch 7 not taken.
14833716 switch(c2)
3477 {
3478 case sscsTRIFORCECSET:
3479 ret=QMisc.colors.triforce_cset;
3480 break;
3481
3482 case sscsTRIFRAMECSET:
3483 ret=QMisc.colors.triframe_cset;
3484 break;
3485
3486 case sscsOVERWORLDMAPCSET:
3487 ret=QMisc.colors.overworld_map_cset;
3488 break;
3489
3490 case sscsDUNGEONMAPCSET:
3491 ret=QMisc.colors.dungeon_map_cset;
3492 break;
3493
3494 case sscsBLUEFRAMECSET:
3495 14833716 ret=QMisc.colors.blueframe_cset;
3496 14833716 break;
3497
3498 case sscsHCPIECESCSET:
3499 ret=QMisc.colors.HCpieces_cset;
3500 break;
3501
3502 case sscsSSVINECSET:
3503 ret=wpnsbuf[iwSubscreenVine].csets&15;
3504 break;
3505
3506 default:
3507 ret=(zc_oldrand()*1000)%256;
3508 break;
3509 }
3510
3511 14833716 break;
3512
3513 default:
3514 29805189 ret=c1;
3515 29805189 }
3516
3517 44638905 return ret;
3518 }
3519
3520 217645740 int32_t to_real_font(int32_t ss_font)
3521 {
3522
66/66
✓ Branch 0 taken 3360372 times.
✓ Branch 1 taken 3130938 times.
✓ Branch 2 taken 20928167 times.
✓ Branch 3 taken 4014419 times.
✓ Branch 4 taken 3852202 times.
✓ Branch 5 taken 3722036 times.
✓ Branch 6 taken 4767421 times.
✓ Branch 7 taken 101522839 times.
✓ Branch 8 taken 3065553 times.
✓ Branch 9 taken 7814631 times.
✓ Branch 10 taken 4479970 times.
✓ Branch 11 taken 2979698 times.
✓ Branch 12 taken 3042362 times.
✓ Branch 13 taken 3058336 times.
✓ Branch 14 taken 3057719 times.
✓ Branch 15 taken 3059260 times.
✓ Branch 16 taken 3058691 times.
✓ Branch 17 taken 2496159 times.
✓ Branch 18 taken 2417774 times.
✓ Branch 19 taken 2416642 times.
✓ Branch 20 taken 2415891 times.
✓ Branch 21 taken 2416447 times.
✓ Branch 22 taken 2147072 times.
✓ Branch 23 taken 2049557 times.
✓ Branch 24 taken 741781 times.
✓ Branch 25 taken 742560 times.
✓ Branch 26 taken 918971 times.
✓ Branch 27 taken 840129 times.
✓ Branch 28 taken 711124 times.
✓ Branch 29 taken 710811 times.
✓ Branch 30 taken 710328 times.
✓ Branch 31 taken 710695 times.
✓ Branch 32 taken 573476 times.
✓ Branch 33 taken 573501 times.
✓ Branch 34 taken 491794 times.
✓ Branch 35 taken 476444 times.
✓ Branch 36 taken 376033 times.
✓ Branch 37 taken 399297 times.
✓ Branch 38 taken 377158 times.
✓ Branch 39 taken 375759 times.
✓ Branch 40 taken 375826 times.
✓ Branch 41 taken 376354 times.
✓ Branch 42 taken 375671 times.
✓ Branch 43 taken 375937 times.
✓ Branch 44 taken 584401 times.
✓ Branch 45 taken 376276 times.
✓ Branch 46 taken 376210 times.
✓ Branch 47 taken 488919 times.
✓ Branch 48 taken 398614 times.
✓ Branch 49 taken 398696 times.
✓ Branch 50 taken 398883 times.
✓ Branch 51 taken 400042 times.
✓ Branch 52 taken 399242 times.
✓ Branch 53 taken 414133 times.
✓ Branch 54 taken 399898 times.
✓ Branch 55 taken 399028 times.
✓ Branch 56 taken 397993 times.
✓ Branch 57 taken 412292 times.
✓ Branch 58 taken 399391 times.
✓ Branch 59 taken 400054 times.
✓ Branch 60 taken 399198 times.
✓ Branch 61 taken 399278 times.
✓ Branch 62 taken 399459 times.
✓ Branch 63 taken 398142 times.
✓ Branch 64 taken 400612 times.
✓ Branch 65 taken 2497174 times.
217645740 switch(ss_font)
3523 {
3524 3360372 case ssfSMALL: return font_sfont;
3525 3130938 case ssfSMALLPROP: return font_spfont;
3526 20928167 case ssfSS1: return font_ssfont1;
3527 4014419 case ssfSS2: return font_ssfont2;
3528 3852202 case ssfSS3: return font_ssfont3;
3529 3722036 case ssfSS4: return font_ssfont4;
3530 4767421 case ssfZTIME: return font_ztfont;
3531 101522839 case ssfZELDA: return font_zfont;
3532 3065553 case ssfZ3: return font_z3font;
3533 7814631 case ssfZ3SMALL: return font_z3smallfont;
3534 4479970 case ssfGBLA: return font_gblafont;
3535 2979698 case ssfGORON: return font_goronfont;
3536 3042362 case ssfZORAN: return font_zoranfont;
3537 3058336 case ssfHYLIAN1: return font_hylian1font;
3538 3057719 case ssfHYLIAN2: return font_hylian2font;
3539 3059260 case ssfHYLIAN3: return font_hylian3font;
3540 3058691 case ssfHYLIAN4: return font_hylian4font;
3541 2496159 case ssfGBORACLE: return font_gboraclefont;
3542 2417774 case ssfGBORACLEP: return font_gboraclepfont;
3543 2416642 case ssfDSPHANTOM: return font_dsphantomfont;
3544 2415891 case ssfDSPHANTOMP: return font_dsphantompfont;
3545 2416447 case ssfAT800: return font_atari800font;
3546 2147072 case ssfACORN: return font_acornfont;
3547 2049557 case ssADOS: return font_adosfont;
3548 741781 case ssfALLEG: return font_baseallegrofont;
3549 742560 case ssfAPL2: return font_apple2font;
3550 918971 case ssfAPL280: return font_apple280colfont;
3551 840129 case ssfAPL2GS: return font_apple2gsfont;
3552 711124 case ssfAQUA: return font_aquariusfont;
3553 710811 case ssfAT400: return font_atari400font;
3554 710328 case ssfC64: return font_c64font;
3555 710695 case ssfC64HR: return font_c64hiresfont;
3556 573476 case ssfCGA: return font_cgafont;
3557 573501 case ssfCOCO: return font_cocofont;
3558 491794 case ssfCOCO2: return font_coco2font;
3559 476444 case ssfCOUPE: return font_coupefont;
3560 376033 case ssfCPC: return font_cpcfont;
3561 399297 case ssfFANTASY: return font_fantasyfont;
3562 377158 case ssfFDSKANA: return font_fdskanafont;
3563 375759 case ssfFDSLIKE: return font_fdslikefont;
3564 375826 case ssfFDSROM: return font_fdsromanfont;
3565 376354 case ssfFF: return font_finalffont;
3566 375671 case ssfFUTHARK: return font_futharkfont;
3567 375937 case ssfGAIA: return font_gaiafont;
3568 584401 case ssfHIRA: return font_hirafont;
3569 376276 case ssfJP: return font_jpfont;
3570 376210 case ssfKONG: return font_kongfont;
3571 488919 case ssfMANA: return font_manafont;
3572 398614 case ssfML: return font_mlfont;
3573 398696 case ssfMOT: return font_motfont;
3574 398883 case ssfMSX0: return font_msxmode0font;
3575 400042 case ssfMSX1: return font_msxmode1font;
3576 399242 case ssfPET: return font_petfont;
3577 414133 case ssfPSTART: return font_pstartfont;
3578 399898 case ssfSATURN: return font_saturnfont;
3579 399028 case ssfSCIFI: return font_scififont;
3580 397993 case ssfSHERW: return font_sherwoodfont;
3581 412292 case ssfSINQL: return font_sinqlfont;
3582 399391 case ssfSPEC: return font_spectrumfont;
3583 400054 case ssfSPECLG: return font_speclgfont;
3584 399198 case ssfTI99: return font_ti99font;
3585 399278 case ssfTRS: return font_trsfont;
3586 399459 case ssfZ2: return font_z2font;
3587 398142 case ssfZX: return font_zxfont;
3588 400612 case ssfLISA: return font_lisafont;
3589 }
3590 2497174 return font_zfont;
3591 217645740 }
3592 int32_t to_ss_font(int32_t real_font)
3593 {
3594 switch(real_font)
3595 {
3596 case font_sfont: return ssfSMALL;
3597 case font_spfont: return ssfSMALLPROP;
3598 case font_ssfont1: return ssfSS1;
3599 case font_ssfont2: return ssfSS2;
3600 case font_ssfont3: return ssfSS3;
3601 case font_ssfont4: return ssfSS4;
3602 case font_ztfont: return ssfZTIME;
3603 case font_zfont: return ssfZELDA;
3604 case font_z3font: return ssfZ3;
3605 case font_z3smallfont: return ssfZ3SMALL;
3606 case font_gblafont: return ssfGBLA;
3607 case font_goronfont: return ssfGORON;
3608 case font_zoranfont: return ssfZORAN;
3609 case font_hylian1font: return ssfHYLIAN1;
3610 case font_hylian2font: return ssfHYLIAN2;
3611 case font_hylian3font: return ssfHYLIAN3;
3612 case font_hylian4font: return ssfHYLIAN4;
3613 case font_gboraclefont: return ssfGBORACLE;
3614 case font_gboraclepfont: return ssfGBORACLEP;
3615 case font_dsphantomfont: return ssfDSPHANTOM;
3616 case font_dsphantompfont: return ssfDSPHANTOMP;
3617 case font_atari800font: return ssfAT800;
3618 case font_acornfont: return ssfACORN;
3619 case font_adosfont: return ssADOS;
3620 case font_baseallegrofont: return ssfALLEG;
3621 case font_apple2font: return ssfAPL2;
3622 case font_apple280colfont: return ssfAPL280;
3623 case font_apple2gsfont: return ssfAPL2GS;
3624 case font_aquariusfont: return ssfAQUA;
3625 case font_atari400font: return ssfAT400;
3626 case font_c64font: return ssfC64;
3627 case font_c64hiresfont: return ssfC64HR;
3628 case font_cgafont: return ssfCGA;
3629 case font_cocofont: return ssfCOCO;
3630 case font_coco2font: return ssfCOCO2;
3631 case font_coupefont: return ssfCOUPE;
3632 case font_cpcfont: return ssfCPC;
3633 case font_fantasyfont: return ssfFANTASY;
3634 case font_fdskanafont: return ssfFDSKANA;
3635 case font_fdslikefont: return ssfFDSLIKE;
3636 case font_fdsromanfont: return ssfFDSROM;
3637 case font_finalffont: return ssfFF;
3638 case font_futharkfont: return ssfFUTHARK;
3639 case font_gaiafont: return ssfGAIA;
3640 case font_hirafont: return ssfHIRA;
3641 case font_jpfont: return ssfJP;
3642 case font_kongfont: return ssfKONG;
3643 case font_manafont: return ssfMANA;
3644 case font_mlfont: return ssfML;
3645 case font_motfont: return ssfMOT;
3646 case font_msxmode0font: return ssfMSX0;
3647 case font_msxmode1font: return ssfMSX1;
3648 case font_petfont: return ssfPET;
3649 case font_pstartfont: return ssfPSTART;
3650 case font_saturnfont: return ssfSATURN;
3651 case font_scififont: return ssfSCIFI;
3652 case font_sherwoodfont: return ssfSHERW;
3653 case font_sinqlfont: return ssfSINQL;
3654 case font_spectrumfont: return ssfSPEC;
3655 case font_speclgfont: return ssfSPECLG;
3656 case font_ti99font: return ssfTI99;
3657 case font_trsfont: return ssfTRS;
3658 case font_z2font: return ssfZ2;
3659 case font_zxfont: return ssfZX;
3660 case font_lisafont: return ssfLISA;
3661 }
3662 return ssfZELDA;
3663 }
3664
3665 217645740 FONT *ss_font(int32_t fontnum)
3666 {
3667
2/2
✓ Branch 0 taken 192800673 times.
✓ Branch 1 taken 24845067 times.
217645740 if(unsigned(fontnum) >= ssfMAX)
3668 24845067 fontnum=zc_oldrand()%ssfMAX;
3669
3670 217645740 return get_zc_font(to_real_font(fontnum));
3671 }
3672 item *sel_a=NULL, *sel_b=NULL;
3673
3674
3675 870 void delete_selectors()
3676 {
3677
2/2
✓ Branch 0 taken 116 times.
✓ Branch 1 taken 754 times.
870 if(sel_a)
3678 {
3679
1/2
✓ Branch 0 taken 754 times.
✗ Branch 1 not taken.
754 delete sel_a;
3680 754 sel_a=NULL;
3681 754 }
3682
3683
2/2
✓ Branch 0 taken 116 times.
✓ Branch 1 taken 754 times.
870 if(sel_b)
3684 {
3685
1/2
✓ Branch 0 taken 754 times.
✗ Branch 1 not taken.
754 delete sel_b;
3686 754 sel_b=NULL;
3687 754 }
3688 870 }
3689
3690
3691 214559 void animate_selectors()
3692 {
3693
2/2
✓ Branch 0 taken 213689 times.
✓ Branch 1 taken 870 times.
214559 if(new_sel)
3694 {
3695 870 delete_selectors();
3696 870 new_sel = false;
3697 870 }
3698
3699
2/2
✓ Branch 0 taken 213689 times.
✓ Branch 1 taken 870 times.
214559 if(!sel_a)
3700
4/8
✓ Branch 0 taken 870 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 870 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 870 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 870 times.
✗ Branch 7 not taken.
870 sel_a = new item((zfix)0, (zfix)0, (zfix)0, iSelectA, 0, 0);
3701
3702
2/2
✓ Branch 0 taken 213689 times.
✓ Branch 1 taken 870 times.
214559 if(!sel_b)
3703
4/8
✓ Branch 0 taken 870 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 870 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 870 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 870 times.
✗ Branch 7 not taken.
870 sel_b = new item((zfix)0, (zfix)0, (zfix)0, iSelectB, 0, 0);
3704
3705 214559 sel_a->yofs=0;
3706 214559 sel_a->subscreenItem=true;
3707 214559 sel_a->animate(0);
3708 214559 sel_b->yofs=0;
3709 214559 sel_b->subscreenItem=true;
3710 214559 sel_b->animate(0);
3711 214559 }
3712
3713 8979324 void show_custom_subscreen(BITMAP *dest, subscreen_group *css, int32_t xofs, int32_t yofs, bool showtime, int32_t pos2)
3714 {
3715 //this is not a good place to be clearing the bitmap
3716 //other stuff might already have been drawn on it that needs to be kept
3717 //(eg the game screen when pulling down the subscreen) -DD
3718 //clear_to_color(dest, 0);
3719 8979324 color_map=&trans_table;
3720 8979324 set_trans_blender(0, 0, 0, 128);
3721
3722 #ifdef IS_ZQUEST
3723 bool animate_sel = true; //ZQ needs to always animate -Em
3724 /* ZQ also has no 'advanceframe' to increment the global frame counter,
3725 * so we need to increment that here, as flashing items use it for their draw.
3726 * -Em
3727 */
3728 ++frame;
3729 #else
3730 /* Animating in ZC every frame causes doubled animation speed, due to
3731 * animating both for the passive and active subscreen.
3732 * So, only call it if new selectors are needed. ZC doesn't use 'bool new_sel'.
3733 * -Em
3734 */
3735
2/2
✓ Branch 0 taken 116 times.
✓ Branch 1 taken 8979208 times.
8979324 bool animate_sel = !sel_a || !sel_b;
3736 #endif
3737
2/2
✓ Branch 0 taken 8979208 times.
✓ Branch 1 taken 116 times.
8979324 if(animate_sel)
3738 116 animate_selectors();
3739
3740
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 227400011 times.
✓ Branch 2 taken 218420687 times.
✓ Branch 3 taken 8979324 times.
227400011 for(int32_t i=0; i<MAXSUBSCREENITEMS&&css->objects[i].type>ssoNULL; ++i)
3741 {
3742
2/2
✓ Branch 0 taken 774947 times.
✓ Branch 1 taken 217645740 times.
218420687 if((css->objects[i].pos & pos2) != 0)
3743 {
3744 217645740 FONT *tempfont=get_zc_font(font_zfont);
3745 217645740 int32_t fontnum=css->objects[i].d1;
3746 217645740 tempfont=ss_font(fontnum);
3747 217645740 int32_t x=css->objects[i].x+xofs;
3748 217645740 int32_t y=css->objects[i].y+yofs;
3749
3750
22/26
✓ Branch 0 taken 7211532 times.
✓ Branch 1 taken 338551 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 17826519 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 26281476 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 613963 times.
✓ Branch 8 taken 2602583 times.
✓ Branch 9 taken 7231469 times.
✓ Branch 10 taken 17360823 times.
✓ Branch 11 taken 5850802 times.
✓ Branch 12 taken 14752567 times.
✓ Branch 13 taken 8063382 times.
✓ Branch 14 taken 7793559 times.
✓ Branch 15 taken 201210 times.
✓ Branch 16 taken 8037684 times.
✓ Branch 17 taken 6086243 times.
✓ Branch 18 taken 64020 times.
✓ Branch 19 taken 645 times.
✓ Branch 20 taken 35067 times.
✗ Branch 21 not taken.
✓ Branch 22 taken 13089942 times.
✓ Branch 23 taken 13722444 times.
✓ Branch 24 taken 15761459 times.
✓ Branch 25 taken 44719800 times.
217645740 switch(css->objects[i].type)
3751 {
3752 case sso2X2FRAME:
3753 {
3754 //al_trace("2x2 Frame tile is: %d\n",css->objects[i].d1);
3755 //in 1.92 and earlier, the 2x2 frame object was tile 278
3756 17826519 frame2x2(dest, x, y, css->objects[i].d1, subscreen_cset(css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3757 //frame2x2(dest, x, y, FFCore.getQuestHeaderInfo(vZelda) < 0x193 ? 278 : css->objects[i].d1, subscreen_cset(css->objects[i].colortype1, css->objects[i].color1), css->objects[i].w, css->objects[i].h, css->objects[i].d2, css->objects[i].d3 != 0, css->objects[i].d4 != 0);
3758 }
3759 17826519 break;
3760
3761 case ssoBSTIME:
3762 {
3763 char *ts;
3764
3765 if(game)
3766 ts = time_str_short2(game->get_time());
3767 else
3768 ts = time_str_short2(0);
3769
3770 //textout_shadowed_ex(dest,tempfont,ts,x,y,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3771 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3772 }
3773 break;
3774
3775 case ssoSSTIME:
3776 case ssoTIME:
3777 {
3778
3/4
✓ Branch 0 taken 7211532 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 15980 times.
✓ Branch 3 taken 7195552 times.
7211532 if(showtime||css->objects[i].type==ssoTIME)
3779 {
3780 char *ts;
3781
3782
1/2
✓ Branch 0 taken 15980 times.
✗ Branch 1 not taken.
15980 if(game)
3783 15980 ts = time_str_med(game->get_time());
3784 else
3785 ts = time_str_med(0);
3786
3787 //textout_right_ex(dest,tempfont,ts,x,y,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2));
3788 15980 textout_styled_aligned_ex(dest,tempfont,ts,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3789 15980 }
3790 }
3791 7211532 break;
3792
3793 case ssoTEXT:
3794 {
3795 //textout_styled_aligned_ex(bmp, f, s, x,y,textstyle, alignment, color, shadow, bg)
3796 26281476 textout_styled_aligned_ex(dest,tempfont,(char *)css->objects[i].dp1,x,y,css->objects[i].d3,css->objects[i].d2,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3797 }
3798 26281476 break;
3799
3800 case ssoLINE:
3801 {
3802 if(css->objects[i].d4)
3803 {
3804 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3805 }
3806
3807 line(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(css->objects[i].colortype1, css->objects[i].color1));
3808
3809 if(css->objects[i].d4)
3810 {
3811 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3812 }
3813 }
3814 break;
3815
3816 case ssoRECT:
3817 {
3818
1/2
✓ Branch 0 taken 613963 times.
✗ Branch 1 not taken.
613963 if(css->objects[i].d2)
3819 {
3820 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3821 }
3822
3823
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 613963 times.
613963 if(css->objects[i].d1!=0)
3824 {
3825 613963 rectfill(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(css->objects[i].colortype2, css->objects[i].color2));
3826 613963 }
3827
3828 613963 rect(dest, x, y, x+css->objects[i].w-1, y+css->objects[i].h-1, subscreen_color(css->objects[i].colortype1, css->objects[i].color1));
3829
3830
1/2
✓ Branch 0 taken 613963 times.
✗ Branch 1 not taken.
613963 if(css->objects[i].d2)
3831 {
3832 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3833 }
3834 }
3835 613963 break;
3836
3837 case ssoMAGICMETER:
3838 {
3839 2602583 magicmeter(dest, x, y);
3840 }
3841 2602583 break;
3842
3843 case ssoLIFEMETER:
3844 {
3845 //lifemeter(dest, x, y, css->objects[i].d1, css->objects[i].d2 != 0);
3846 7231469 lifemeter(dest, x, y, 1, css->objects[i].d2 != 0);
3847 }
3848 7231469 break;
3849
3850 case ssoBUTTONITEM:
3851 {
3852
1/2
✓ Branch 0 taken 17360823 times.
✗ Branch 1 not taken.
17360823 if(css->objects[i].d2)
3853 {
3854 drawing_mode(DRAW_MODE_TRANS, NULL, 0, 0);
3855 }
3856 //zprint2("Button item ID is: %d\n", css->objects[i].d1);
3857 17360823 buttonitem(dest, css->objects[i].d1, x, y);
3858
3859
1/2
✓ Branch 0 taken 17360823 times.
✗ Branch 1 not taken.
17360823 if(css->objects[i].d2)
3860 {
3861 drawing_mode(DRAW_MODE_SOLID, NULL, 0, 0);
3862 }
3863 }
3864 17360823 break;
3865
3866 case ssoCOUNTERS:
3867 {
3868 5850802 defaultcounters(dest, x, y, tempfont,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2 != 0,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5);
3869 }
3870 5850802 break;
3871
3872 case ssoCOUNTER:
3873 {
3874 14752567 counter(dest, x, y, tempfont,subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3),css->objects[i].d2,css->objects[i].d3,css->objects[i].d4,css->objects[i].d5,css->objects[i].d6&1, css->objects[i].d7, css->objects[i].d8, css->objects[i].d9, css->objects[i].d10, (css->objects[i].d6&2)!=0);
3875 }
3876 14752567 break;
3877
3878 case ssoMINIMAPTITLE:
3879 {
3880
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 8063382 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
8063382 if(!css->objects[i].d4 || has_item(itype_map, get_dlevel()))
3881 {
3882 8063382 minimaptitle(dest, x, y, tempfont, subscreen_color(css->objects[i].colortype1, css->objects[i].color1),subscreen_color(css->objects[i].colortype2, css->objects[i].color2),subscreen_color(css->objects[i].colortype3, css->objects[i].color3), css->objects[i].d2, css->objects[i].d3);
3883 8063382 }
3884 }
3885 8063382 break;
3886
3887 case ssoMINIMAP:
3888 {
3889 //drawdmap(dest, x, y, showmap, showhero, showcompass, herocolor, lccolor, dccolor)
3890
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7793559 times.
15587118 drawdmap(dest, x, y, css->objects[i].d1 != 0, css->objects[i].d2 && !(TheMaps[(DMaps[get_currdmap()].map*MAPSCRS)+get_homescr()].flags7&fNOHEROMARK),
3891
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 7793559 times.
7793559 css->objects[i].d3 && !(DMaps[get_currdmap()].flags&dmfNOCOMPASS), subscreen_color(css->objects[i].colortype1, css->objects[i].color1), subscreen_color(css->objects[i].colortype2, css->objects[i].color2), subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3892 }
3893 7793559 break;
3894
3895 case ssoLARGEMAP:
3896 {
3897 //putBmap(dest, x, y, showmap, showhero, showrooms, roomcolor, herocolor, large)
3898 201210 putBmap(dest, x, y, css->objects[i].d1 != 0, css->objects[i].d2!=0, css->objects[i].d3!=0, subscreen_color(css->objects[i].colortype1, css->objects[i].color1), subscreen_color(css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d10 != 0);
3899 }
3900 201210 break;
3901
3902 case ssoCLEAR:
3903 {
3904 8037684 clear_to_color(dest,subscreen_color(css->objects[i].colortype1, css->objects[i].color1));
3905 }
3906 8037684 break;
3907
3908 case ssoCURRENTITEM:
3909 {
3910 // Shouldn't really be checking is_zquest here, but it's okay for now...
3911
3/6
✓ Branch 0 taken 220917 times.
✓ Branch 1 taken 5865326 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 220917 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
6086243 if((css->objects[i].d2&SSCURRITEM_VISIBLE) || (is_zquest() && (zinit.ss_flags&ssflagSHOWINVIS)))
3912 {
3913
2/2
✓ Branch 0 taken 5895 times.
✓ Branch 1 taken 5859431 times.
5865326 subscreenitem(dest, x, y, css->objects[i].d8>0 ? ((css->objects[i].d8-1) | 0x8000) : css->objects[i].d1);
3914 5865326 }
3915 }
3916 6086243 break;
3917
3918 case ssoTEXTBOX:
3919 {
3920 //draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor)
3921 64020 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, (char *)css->objects[i].dp1, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(css->objects[i].colortype1, css->objects[i].color1), subscreen_color(css->objects[i].colortype2, css->objects[i].color2), subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3922 //draw_textbox(dest, 0, 0, 200, 50, get_zc_font(font_sfont), "This is a test", 1, 4, 0, 0, subscreen_color(css->objects[i].colortype1, css->objects[i].color1), subscreen_color(css->objects[i].colortype2, css->objects[i].color2), subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3923 }
3924 64020 break;
3925
3926 case ssoSELECTEDITEMNAME:
3927 {
3928 645 int32_t itemid=Bweapon(Bpos);
3929
3930 // If it's a combined bow and arrow, the item ID will have 0xF000 added.
3931
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(itemid>=0xF000)
3932 itemid-=0xF000;
3933
3934 // 0 can mean either the item with index 0 is selected or there's no
3935 // valid item to select, so be sure Hero has whatever it would be.
3936
1/2
✓ Branch 0 taken 645 times.
✗ Branch 1 not taken.
645 if(!game->get_item(itemid))
3937 break;
3938
3939 645 itemdata const& itm = itemsbuf[itemid];
3940 645 char itemname[256]="";
3941 645 strncpy(itemname, itm.get_name().c_str(), 255);
3942
3943 645 draw_textbox(dest, x, y, css->objects[i].w, css->objects[i].h, tempfont, itemname, css->objects[i].d4!=0, css->objects[i].d5, css->objects[i].d2, css->objects[i].d3, subscreen_color(css->objects[i].colortype1, css->objects[i].color1), subscreen_color(css->objects[i].colortype2, css->objects[i].color2), subscreen_color(css->objects[i].colortype3, css->objects[i].color3));
3944 // draw_textbox(dest, x, y, w, h, tempfont, thetext, wword, tabsize, alignment, textstyle, color, shadowcolor, backcolor);
3945 }
3946 645 break;
3947
3948 case ssoTRIFRAME:
3949 {
3950 //puttriframe(dest, x, y, triframecolor, numbercolor, triframetile, triframecset, triforcetile, triforcecset, showframe, showpieces, largepieces)
3951 35067 puttriframe(dest, x, y, subscreen_color(css->objects[i].colortype1, css->objects[i].color1), subscreen_color(css->objects[i].colortype2, css->objects[i].color2), css->objects[i].d1, css->objects[i].d2, css->objects[i].d3, css->objects[i].d4, css->objects[i].d5!=0, css->objects[i].d6!=0, css->objects[i].d7!=0);
3952 }
3953 35067 break;
3954
3955 case ssoTRIFORCE:
3956 {
3957 puttriforce(dest,x,y,css->objects[i].d1,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0,css->objects[i].d5);
3958 }
3959 break;
3960
3961 case ssoTILEBLOCK:
3962 {
3963 13089942 draw_block_flip(dest,x,y,css->objects[i].d1,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].w,css->objects[i].h,css->objects[i].d2,css->objects[i].d3!=0,css->objects[i].d4!=0);
3964 }
3965 13089942 break;
3966
3967 case ssoMINITILE:
3968 {
3969 13722444 int32_t t=css->objects[i].d1;
3970
3971
1/2
✓ Branch 0 taken 13722444 times.
✗ Branch 1 not taken.
13722444 if(t==-1)
3972 {
3973 switch(css->objects[i].d2)
3974 {
3975 case ssmstSSVINETILE:
3976 t=wpnsbuf[iwSubscreenVine].tile*4;
3977 break;
3978
3979 case ssmstMAGICMETER:
3980 t=wpnsbuf[iwMMeter].tile*4;
3981 break;
3982
3983 default:
3984 t=(zc_oldrand()*100000)%32767;
3985 break;
3986 }
3987 }
3988
3989 13722444 t+=css->objects[i].d3;
3990
3991
2/2
✓ Branch 0 taken 10261214 times.
✓ Branch 1 taken 3461230 times.
13722444 if(css->objects[i].d5)
3992 {
3993
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 10261214 times.
10261214 if(css->objects[i].d6)
3994 {
3995 overtiletranslucent8(dest,t,x,y,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
3996 }
3997 else
3998 {
3999 10261214 overtile8(dest,t,x,y,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4000 }
4001 10261214 }
4002 else
4003 {
4004
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 3461230 times.
3461230 if(css->objects[i].d6)
4005 {
4006 puttiletranslucent8(dest,t,x,y,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4,128);
4007 }
4008 else
4009 {
4010 3461230 oldputtile8(dest,t,x,y,subscreen_cset(css->objects[i].colortype1, css->objects[i].color1),css->objects[i].d4);
4011 }
4012 }
4013 }
4014 13722444 break;
4015
4016 case ssoSELECTOR1:
4017 case ssoSELECTOR2:
4018 {
4019 338551 int32_t p=-1;
4020
4021
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 9698688 times.
✓ Branch 2 taken 498 times.
✓ Branch 3 taken 9698190 times.
9698688 for(int32_t j=0; j<MAXSUBSCREENITEMS&&css->objects[j].type!=ssoNULL; ++j)
4022 {
4023
2/2
✓ Branch 0 taken 2714713 times.
✓ Branch 1 taken 6983477 times.
9698190 if(css->objects[j].type==ssoCURRENTITEM)
4024 {
4025
2/2
✓ Branch 0 taken 6645424 times.
✓ Branch 1 taken 338053 times.
6983477 if(css->objects[j].d3==(int32_t)Bpos)
4026 {
4027 338053 p=j;
4028 338053 break;
4029 }
4030 6645424 }
4031 9360137 }
4032
4033 338551 bool big_sel=css->objects[i].d5 != 0;
4034
2/2
✓ Branch 0 taken 213945 times.
✓ Branch 1 taken 124606 times.
338551 item *tempsel=(css->objects[i].type==ssoSELECTOR1)?sel_a:sel_b;
4035 338551 int32_t temptile=tempsel->tile;
4036 338551 tempsel->drawstyle=0;
4037
4038
1/2
✓ Branch 0 taken 338551 times.
✗ Branch 1 not taken.
338551 if(css->objects[i].d4)
4039 {
4040 tempsel->drawstyle=1;
4041 }
4042
2/2
✓ Branch 0 taken 240 times.
✓ Branch 1 taken 338311 times.
338551 int32_t itemtype = css->objects[p].d8>0 ? ((css->objects[p].d8-1) | 0x8000) : css->objects[p].d1;
4043 338551 itemdata const& tmpitm = itemsbuf[get_subscreenitem_id(itemtype, true)];
4044 338551 bool oldsel = get_qr(qr_SUBSCR_OLD_SELECTOR);
4045
2/2
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
338551 if(!oldsel) big_sel = false;
4046
5/6
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 331226 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
338551 int32_t sw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hit_width : 16),
4047
5/6
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 331226 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
338551 sh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : (tempsel->extend > 2 ? tempsel->hit_height : 16),
4048
5/6
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 331226 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
338551 dw = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_WIDTH) ? tmpitm.hxsz : 16),
4049
5/6
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 331226 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
338551 dh = oldsel ? (tempsel->extend > 2 ? tempsel->txsz*16 : 16) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_HEIGHT) ? tmpitm.hysz : 16);
4050
3/4
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
338551 int32_t sxofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hxofs : 0),
4051
3/4
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 6680 times.
338551 syofs = oldsel ? 0 : (tempsel->extend > 2 ? tempsel->hyofs : 0),
4052
6/8
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 331226 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
338551 dxofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->xofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_X_OFFSET) ? tmpitm.hxofs : 0) + (tempsel->extend > 2 ? (int)tempsel->xofs : 0),
4053
6/8
✓ Branch 0 taken 331871 times.
✓ Branch 1 taken 6680 times.
✓ Branch 2 taken 645 times.
✓ Branch 3 taken 331226 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 6680 times.
✗ Branch 6 not taken.
✓ Branch 7 taken 6680 times.
338551 dyofs = oldsel ? (tempsel->extend > 2 ? (int)tempsel->yofs : 0) : ((tmpitm.overrideFLAGS & itemdataOVERRIDE_HIT_Y_OFFSET) ? tmpitm.hyofs : 0) + (tempsel->extend > 2 ? (int)tempsel->yofs : 0);
4054 338551 BITMAP* tmpbmp = create_bitmap_ex(8,sw,sh);
4055
2/2
✓ Branch 0 taken 498 times.
✓ Branch 1 taken 340045 times.
340543 for(int32_t j=0; j<4; ++j)
4056 {
4057 340045 clear_bitmap(tmpbmp);
4058
2/2
✓ Branch 0 taken 1992 times.
✓ Branch 1 taken 338053 times.
340045 if(p!=-1)
4059 {
4060 338053 tempsel->x=0;
4061 338053 tempsel->y=0;
4062
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 338053 times.
338053 int32_t tmpx = css->objects[p].x+xofs+(big_sel?(j%2?8:-8):0);
4063
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 338053 times.
338053 int32_t tmpy = css->objects[p].y+yofs+(big_sel?(j>1?8:-8):0);
4064
2/2
✓ Branch 0 taken 151175 times.
✓ Branch 1 taken 186878 times.
338053 tempsel->tile+=(zc_max(itemsbuf[tempsel->id].frames,1)*j);
4065
4066
2/2
✓ Branch 0 taken 101131 times.
✓ Branch 1 taken 236922 times.
338053 if(temptile)
4067 {
4068 236922 tempsel->drawzcboss(tmpbmp);
4069 236922 tempsel->tile=temptile;
4070 236922 }
4071 338053 masked_stretch_blit(tmpbmp, dest, vbound(sxofs, 0, sw), vbound(syofs, 0, sh), sw-vbound(sxofs, 0, sw), sh-vbound(syofs, 0, sh), tmpx+dxofs, tmpy+dyofs, dw, dh);
4072
4073
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 338053 times.
338053 if(!big_sel)
4074 {
4075 338053 break;
4076 }
4077 }
4078 1992 }
4079 338551 destroy_bitmap(tmpbmp);
4080 }
4081 338551 break;
4082
4083 case ssoMAGICGAUGE:
4084 {
4085 // void magicgauge(BITMAP *dest,int32_t x,int32_t y, int32_t container, int32_t notlast_tile, int32_t notlast_cset, bool notlast_mod, int32_t last_tile, int32_t last_cset, bool last_mod,
4086 // int32_t cap_tile, int32_t cap_cset, bool cap_mod, int32_t aftercap_tile, int32_t aftercap_cset, bool aftercap_mod, int32_t frames, int32_t speed, int32_t delay, bool unique_last,
4087 // int32_t show)
4088 31522918 magicgauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4089 15761459 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0),
4090 15761459 css->objects[i].d9);
4091 }
4092 15761459 break;
4093
4094 case ssoLIFEGAUGE:
4095 {
4096 89439600 lifegauge(dest,x,y, css->objects[i].d1, css->objects[i].d2, css->objects[i].colortype1, ((css->objects[i].d10&1)?1:0), css->objects[i].d3, css->objects[i].color1, ((css->objects[i].d10&2)?1:0),
4097 44719800 css->objects[i].d4, css->objects[i].colortype2, ((css->objects[i].d10&4)?1:0), css->objects[i].d5, css->objects[i].color2, ((css->objects[i].d10&8)?1:0), css->objects[i].d6, css->objects[i].d7, css->objects[i].d8, ((css->objects[i].d10&16)?1:0));
4098 }
4099 44719800 break;
4100
4101 default:
4102 {
4103 }
4104 break;
4105 }
4106
4107 //sso_bounding_box(dest, css, i, vc(15));
4108 217645740 }
4109 218420687 }
4110 8979324 }
4111
4112 std::string get_subscr_arrow_name(int itemid)
4113 {
4114 char itemname[256]="";
4115 if(Bitem && Bitem->dummy_bool[0]==true) //if we also have a bow
4116 {
4117 if(current_item_id(itype_bow)>-1)
4118 {
4119 bool hasarrows=checkmagiccost(itemid);
4120 sprintf(itemname, "%s%s%s", item_string[current_item_id(itype_bow)], hasarrows?" & ":"",hasarrows?item_string[Bitem->id]:"");
4121 }
4122 }
4123 return std::string(itemname);
4124 }
4125
4126 17360823 void buttonitem(BITMAP *dest, int32_t button, int32_t x, int32_t y)
4127 {
4128
4/5
✗ Branch 0 not taken.
✓ Branch 1 taken 8594744 times.
✓ Branch 2 taken 8597229 times.
✓ Branch 3 taken 84425 times.
✓ Branch 4 taken 84425 times.
17360823 switch(button)
4129 {
4130 case 0: //A button
4131
4/4
✓ Branch 0 taken 8236927 times.
✓ Branch 1 taken 357817 times.
✓ Branch 2 taken 9930 times.
✓ Branch 3 taken 8226997 times.
8594744 if(Aitem&&show_subscreen_items)
4132 {
4133 8226997 Aitem->x=x;
4134 8226997 Aitem->y=y;
4135 8226997 Aitem->hide_hitbox = true;
4136
4137
1/2
✓ Branch 0 taken 8226997 times.
✗ Branch 1 not taken.
8226997 switch(itemsbuf[Aitem->id].family)
4138 {
4139 case itype_arrow:
4140 if(Aitem->dummy_bool[0]==true)
4141 {
4142 if(current_item_id(itype_bow)>-1)
4143 {
4144 subscreenitem(dest, x, y, itype_bow);
4145 if(get_qr(qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4146 if(!checkmagiccost(Aitem->id)) return;
4147 }
4148 }
4149
4150 break;
4151 }
4152
4153 8226997 Aitem->drawzcboss(dest);
4154 8226997 }
4155
4156 8594744 break;
4157
4158 case 1: //B button
4159
4/4
✓ Branch 0 taken 8062864 times.
✓ Branch 1 taken 534365 times.
✓ Branch 2 taken 9930 times.
✓ Branch 3 taken 8052934 times.
8597229 if(Bitem&&show_subscreen_items)
4160 {
4161 8052934 Bitem->x=x;
4162 8052934 Bitem->y=y;
4163 8052934 Bitem->hide_hitbox = true;
4164
4165
2/2
✓ Branch 0 taken 7652295 times.
✓ Branch 1 taken 400639 times.
8052934 switch(itemsbuf[Bitem->id].family)
4166 {
4167 case itype_arrow:
4168
2/4
✓ Branch 0 taken 400639 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 400639 times.
✗ Branch 3 not taken.
400639 if(Bitem && Bitem->dummy_bool[0]==true)
4169 {
4170 if(current_item_id(itype_bow)>-1)
4171 {
4172 subscreenitem(dest, x, y, itype_bow);
4173 if(get_qr(qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4174 if(!checkmagiccost(Bitem->id)) return;
4175 }
4176 }
4177
4178 400639 break;
4179 }
4180
4181 8052934 Bitem->drawzcboss(dest);
4182 8052934 }
4183
4184 8597229 break;
4185
4186 case 2: //X button
4187
3/4
✓ Branch 0 taken 23307 times.
✓ Branch 1 taken 61118 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 23307 times.
84425 if(Xitem&&show_subscreen_items)
4188 {
4189 //Y button
4190 //zprint2("Drawing X Item\n");
4191 23307 Xitem->x=x;
4192 23307 Xitem->y=y;
4193 23307 Xitem->hide_hitbox = true;
4194
4195
1/2
✓ Branch 0 taken 23307 times.
✗ Branch 1 not taken.
23307 switch(itemsbuf[Xitem->id].family)
4196 {
4197 case itype_arrow:
4198 if(Xitem && Xitem->dummy_bool[0]==true)
4199 {
4200 if(current_item_id(itype_bow)>-1)
4201 {
4202 subscreenitem(dest, x, y, itype_bow);
4203 if(get_qr(qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4204 if(!checkmagiccost(Xitem->id)) return;
4205 }
4206 }
4207
4208 break;
4209 }
4210
4211 23307 Xitem->drawzcboss(dest);
4212 23307 }
4213 //else zprint2("Xitem is NULL\n");
4214
4215 84425 break;
4216
4217 case 3:
4218
3/4
✓ Branch 0 taken 71047 times.
✓ Branch 1 taken 13378 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 71047 times.
84425 if(Yitem&&show_subscreen_items)
4219 {
4220 //Y button
4221 //zprint2("Drawing Y Item\n");
4222 71047 Yitem->x=x;
4223 71047 Yitem->y=y;
4224 71047 Yitem->hide_hitbox = true;
4225
4226
1/2
✓ Branch 0 taken 71047 times.
✗ Branch 1 not taken.
71047 switch(itemsbuf[Yitem->id].family)
4227 {
4228 case itype_arrow:
4229 if(Yitem && Yitem->dummy_bool[0]==true)
4230 {
4231 if(current_item_id(itype_bow)>-1)
4232 {
4233 subscreenitem(dest, x, y, itype_bow);
4234 if(get_qr(qr_NEVERDISABLEAMMOONSUBSCREEN)) break;
4235 if(!checkmagiccost(Yitem->id)) return;
4236 }
4237 }
4238
4239 break;
4240 }
4241
4242 71047 Yitem->drawzcboss(dest);
4243 71047 }
4244 //else zprint2("Yitem is NULL\n");
4245
4246 84425 break;
4247
4248 default:
4249 break;
4250 }
4251 17360823 }
4252
4253 5850802 void defaultcounters(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, bool usex, int32_t textstyle, int32_t digits, char idigit)
4254 {
4255
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5850802 times.
✓ Branch 2 taken 3558390 times.
✓ Branch 3 taken 2292412 times.
5850802 int32_t yofs = (game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1)) ? 8 : 0;
4256
4257 //88, 16
4258 5850802 overtile8(dest,5,x,y,1,0);
4259 5850802 overtile8(dest,8,x,y+16-yofs,1,0);
4260 5850802 overtile8(dest,9,x,y+24-yofs,0,0);
4261
4262
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 5850802 times.
5850802 if(game)
4263 {
4264 5850802 bool magickey = false;
4265 5850802 int32_t itemid = current_item_id(itype_magickey);
4266
4267
2/2
✓ Branch 0 taken 4761466 times.
✓ Branch 1 taken 1089336 times.
5850802 if(itemid>-1)
4268 {
4269
1/2
✓ Branch 0 taken 1089336 times.
✗ Branch 1 not taken.
1089336 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4270 1089336 magickey = itemsbuf[itemid].power>=get_dlevel();
4271 else
4272 magickey = itemsbuf[itemid].power==get_dlevel();
4273 1089336 }
4274
4275 5850802 putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_wallet)>0,idigit);
4276 5850802 putxnum(dest,x+8,y+16-yofs,game->get_keys()+game->get_lkeys(),tempfont,color,shadowcolor,bgcolor, textstyle,usex,digits,magickey,idigit);
4277 5850802 putxnum(dest,x+8,y+24-yofs,game->get_bombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,current_item_power(itype_bombbag)>0,idigit);
4278 5850802 }
4279
4280
5/6
✓ Branch 0 taken 5850802 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2292412 times.
✓ Branch 3 taken 3558390 times.
✓ Branch 4 taken 2289772 times.
✓ Branch 5 taken 2640 times.
5850802 if(game==NULL || (game->get_sbombs() && current_item_id(itype_sbomb)>-1))
4281 {
4282 2289772 overtile8(dest,13,x,y+24,1,0);
4283
4284
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 2289772 times.
2289772 if(game)
4285 {
4286 2289772 int32_t itemid = current_item_id(itype_bombbag);
4287
3/4
✓ Branch 0 taken 739880 times.
✓ Branch 1 taken 1549892 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 739880 times.
2289772 bool superbomb = (itemid>=0 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1);
4288
4289 2289772 putxnum(dest,x+8,y+24,game->get_sbombs(),tempfont,color,shadowcolor,bgcolor,textstyle,usex,digits,superbomb,idigit);
4290 2289772 }
4291 2289772 }
4292 5850802 }
4293
4294 9904099 bool is_counter_item(int32_t itemtype, int32_t countertype)
4295 {
4296 9904099 itemdata const& itm = itemsbuf[itemtype];
4297 9904099 int32_t ctr = scounter_to_ctr(countertype);
4298
1/2
✓ Branch 0 taken 9904099 times.
✗ Branch 1 not taken.
9904099 if(ctr == crNONE) return false;
4299
3/4
✓ Branch 0 taken 9904099 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 48838 times.
✓ Branch 3 taken 9855261 times.
9904099 if(ctr == itm.cost_counter[0] ||
4300 9904099 ctr == itm.cost_counter[1])
4301 48838 return true;
4302 9855261 return false;
4303 9904099 }
4304
4305 17076976 void add_ssc_ctr(int itemtype, bool& infinite, int32_t& value, bool alt)
4306 {
4307
8/14
✗ Branch 0 not taken.
✓ Branch 1 taken 2662008 times.
✓ Branch 2 taken 2544927 times.
✓ Branch 3 taken 480079 times.
✓ Branch 4 taken 1982668 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3477997 times.
✓ Branch 7 taken 1988013 times.
✓ Branch 8 taken 562309 times.
✗ Branch 9 not taken.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✓ Branch 13 taken 3378975 times.
17076976 switch(itemtype)
4308 {
4309 case -3:
4310 case -2:
4311 1982668 break;
4312 case sscRUPEES:
4313
2/2
✓ Branch 0 taken 996434 times.
✓ Branch 1 taken 2481563 times.
3477997 if(alt) break;
4314
1/2
✓ Branch 0 taken 2481563 times.
✗ Branch 1 not taken.
2481563 if(current_item_power(itype_wallet))
4315 infinite=true;
4316
4317 2481563 value+=game->get_rupies();
4318 2481563 break;
4319
4320 case sscBOMBS:
4321
2/2
✓ Branch 0 taken 1969939 times.
✓ Branch 1 taken 18074 times.
1988013 if(current_item_power(itype_bombbag))
4322 18074 infinite=true;
4323
4324 1988013 value+=game->get_bombs();
4325 1988013 break;
4326
4327 case sscSBOMBS:
4328 {
4329 562309 int32_t itemid = current_item_id(itype_bombbag);
4330
4331
4/6
✓ Branch 0 taken 14624 times.
✓ Branch 1 taken 547685 times.
✓ Branch 2 taken 14624 times.
✗ Branch 3 not taken.
✗ Branch 4 not taken.
✓ Branch 5 taken 14624 times.
562309 if(itemid>-1 && itemsbuf[itemid].power>0 && itemsbuf[itemid].flags & ITEM_FLAG1)
4332 14624 infinite=true;
4333
4334 562309 value+=game->get_sbombs();
4335 562309 break;
4336 }
4337
4338 case sscLIFE:
4339 {
4340 if(alt) break;
4341 value+=game->get_life();
4342 break;
4343 }
4344 case sscMAGIC:
4345 {
4346 value+=game->get_magic();
4347 break;
4348 }
4349
4350 case sscMAXHP:
4351 {
4352 value+=game->get_maxlife();
4353 break;
4354 }
4355 case sscMAXMP:
4356 {
4357 value+=game->get_maxmagic();
4358 break;
4359 }
4360
4361 case sscARROWS:
4362
4/4
✓ Branch 0 taken 574325 times.
✓ Branch 1 taken 2804650 times.
✓ Branch 2 taken 588920 times.
✓ Branch 3 taken 2215730 times.
3378975 if((!get_qr(qr_TRUEARROWS) && current_item_power(itype_wallet)) || current_item_power(itype_quiver))
4363 1163245 infinite=true;
4364
4365 // If Hero somehow got ammunition before getting the arrow,
4366 // or if the arrow was disabled in a DMap,
4367 // we shouldn't put the value as zero.
4368 // if(/*current_item_id(itype_arrow)>-1*/ true)
4369 {
4370
2/2
✓ Branch 0 taken 1656000 times.
✓ Branch 1 taken 574325 times.
2230325 if(get_qr(qr_TRUEARROWS))
4371 {
4372 1656000 value+=game->get_arrows();
4373 1656000 }
4374 else
4375 {
4376 574325 value+=game->get_rupies();
4377 }
4378 }
4379 2230325 break;
4380
4381 case sscGENKEYMAGIC:
4382 case sscLEVKEYMAGIC:
4383 case sscANYKEYMAGIC:
4384 {
4385 2544927 int32_t itemid = current_item_id(itype_magickey);
4386
4387
3/4
✓ Branch 0 taken 246099 times.
✓ Branch 1 taken 2298828 times.
✓ Branch 2 taken 246099 times.
✗ Branch 3 not taken.
2544927 if(itemid>-1 && !infinite)
4388 {
4389 if(itemsbuf[itemid].flags&ITEM_FLAG1)
4390 infinite = itemsbuf[itemid].power>=get_dlevel();
4391 else
4392 infinite = itemsbuf[itemid].power==get_dlevel();
4393 }
4394 2544927 }
4395
4396 //fall through
4397 case sscANYKEYNOMAGIC:
4398 case sscLEVKEYNOMAGIC:
4399 case sscGENKEYNOMAGIC:
4400
2/4
✓ Branch 0 taken 3025006 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 2462916 times.
5487922 if(itemtype == sscGENKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4401
3/4
✓ Branch 0 taken 3025006 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2462916 times.
✓ Branch 3 taken 562090 times.
3025006 || itemtype == sscGENKEYMAGIC || itemtype == sscANYKEYMAGIC)
4402 562090 value += game->get_keys();
4403
4404
3/4
✓ Branch 0 taken 2544927 times.
✓ Branch 1 taken 480079 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 562090 times.
3587096 if(itemtype == sscLEVKEYNOMAGIC || itemtype == sscANYKEYNOMAGIC
4405
3/4
✓ Branch 0 taken 2544927 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 562090 times.
✓ Branch 3 taken 1982837 times.
2544927 || itemtype == sscLEVKEYMAGIC || itemtype == sscANYKEYMAGIC)
4406 2462916 value += game->get_lkeys();
4407
4408 3025006 break;
4409
4410 case sscSCRIPT1: case sscSCRIPT2: case sscSCRIPT3: case sscSCRIPT4: case sscSCRIPT5:
4411 case sscSCRIPT6: case sscSCRIPT7: case sscSCRIPT8: case sscSCRIPT9: case sscSCRIPT10:
4412 case sscSCRIPT11: case sscSCRIPT12: case sscSCRIPT13: case sscSCRIPT14: case sscSCRIPT15:
4413 case sscSCRIPT16: case sscSCRIPT17: case sscSCRIPT18: case sscSCRIPT19: case sscSCRIPT20:
4414 case sscSCRIPT21: case sscSCRIPT22: case sscSCRIPT23: case sscSCRIPT24: case sscSCRIPT25:
4415 2662008 value += game->get_counter(itemtype-3);
4416 2662008 break;
4417 case sscSCRIPT26: case sscSCRIPT27: case sscSCRIPT28: case sscSCRIPT29: case sscSCRIPT30:
4418 case sscSCRIPT31: case sscSCRIPT32: case sscSCRIPT33: case sscSCRIPT34: case sscSCRIPT35:
4419 case sscSCRIPT36: case sscSCRIPT37: case sscSCRIPT38: case sscSCRIPT39: case sscSCRIPT40:
4420 case sscSCRIPT41: case sscSCRIPT42: case sscSCRIPT43: case sscSCRIPT44: case sscSCRIPT45:
4421 case sscSCRIPT46: case sscSCRIPT47: case sscSCRIPT48: case sscSCRIPT49: case sscSCRIPT50:
4422 case sscSCRIPT51: case sscSCRIPT52: case sscSCRIPT53: case sscSCRIPT54: case sscSCRIPT55:
4423 case sscSCRIPT56: case sscSCRIPT57: case sscSCRIPT58: case sscSCRIPT59: case sscSCRIPT60:
4424 case sscSCRIPT61: case sscSCRIPT62: case sscSCRIPT63: case sscSCRIPT64: case sscSCRIPT65:
4425 case sscSCRIPT66: case sscSCRIPT67: case sscSCRIPT68: case sscSCRIPT69: case sscSCRIPT70:
4426 case sscSCRIPT71: case sscSCRIPT72: case sscSCRIPT73: case sscSCRIPT74: case sscSCRIPT75:
4427 case sscSCRIPT76: case sscSCRIPT77: case sscSCRIPT78: case sscSCRIPT79: case sscSCRIPT80:
4428 case sscSCRIPT81: case sscSCRIPT82: case sscSCRIPT83: case sscSCRIPT84: case sscSCRIPT85:
4429 case sscSCRIPT86: case sscSCRIPT87: case sscSCRIPT88: case sscSCRIPT89: case sscSCRIPT90:
4430 case sscSCRIPT91: case sscSCRIPT92: case sscSCRIPT93: case sscSCRIPT94: case sscSCRIPT95:
4431 case sscSCRIPT96: case sscSCRIPT97: case sscSCRIPT98: case sscSCRIPT99: case sscSCRIPT100:
4432 value += game->get_counter(itemtype-7);
4433 break;
4434
4435 default:
4436 break;
4437 }
4438 15928326 }
4439 // itemtype1, itemtype2, itemtype3: Only itemtype1 is used. I'm unsure who made these, who disabled the code
4440 // for them, and when each occurred. They should probably be hidden, but some very old 2.11/2.50b quests
4441 // may have used this and we'd need to edit the uest to fix it as-is, so perrhaps hide them only conditionally?
4442 // or make them flipping work?
4443 // It seems that the original intent was to be able to display a sum of multipe counters as one value. -Z (26th Jan, 2020).
4444 33176533 void counter(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle, int32_t digits, char idigit, bool showzero, int32_t itemtype1, int32_t itemtype2, int32_t itemtype3, int32_t infiniteitem, bool onlyselected)
4445 {
4446 33176533 int32_t value=0;
4447 33176533 bool infinite=false;
4448 33176533 int32_t itemtypes[3]={itemtype1, itemtype2, itemtype3};
4449
4450
5/6
✓ Branch 0 taken 14752567 times.
✓ Branch 1 taken 18423966 times.
✓ Branch 2 taken 332529 times.
✓ Branch 3 taken 14420038 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 332529 times.
33176533 if(game != NULL && game->get_item(infiniteitem) && !item_disabled(infiniteitem))
4451 {
4452 332529 infinite=true;
4453 332529 }
4454
4455 char valstring[80];
4456 char formatstring[80];
4457 33176533 sprintf(valstring,"01234567890123456789");
4458 33176533 sprintf(formatstring, "%%0%dd", digits);
4459
4460
13/16
✓ Branch 0 taken 1852181 times.
✓ Branch 1 taken 30666736 times.
✓ Branch 2 taken 1599609 times.
✓ Branch 3 taken 252572 times.
✓ Branch 4 taken 1550771 times.
✓ Branch 5 taken 48838 times.
✓ Branch 6 taken 1550771 times.
✗ Branch 7 not taken.
✓ Branch 8 taken 1734316 times.
✓ Branch 9 taken 3285087 times.
✓ Branch 10 taken 1734316 times.
✓ Branch 11 taken 1803343 times.
✓ Branch 12 taken 1734316 times.
✗ Branch 13 not taken.
✓ Branch 14 taken 1734316 times.
✗ Branch 15 not taken.
33176533 if(onlyselected && !(((Bitem&&(is_counter_item(Bitem->id,itemtype1)||is_counter_item(Bitem->id,itemtype2)||is_counter_item(Bitem->id,itemtype3)))||(Aitem&&(is_counter_item(Aitem->id,itemtype1)||is_counter_item(Aitem->id,itemtype2)||is_counter_item(Aitem->id,itemtype3))))))
4461 {
4462 1803343 return;
4463 }
4464
4465 int32_t itemtype;
4466 /*
4467 for (int32_t i=0; i<3; ++i)
4468 {
4469 switch (i)
4470 {
4471 case 0:
4472 itemtype=itemtype1;
4473 break;
4474 case 1:
4475 itemtype=itemtype2;
4476 break;
4477 case 2:
4478 itemtype=itemtype3;
4479 break;
4480 }
4481 */
4482 34184206 itemtype=itemtype1;
4483 /* commented out until I find out what it does - it's messing up custom subscreens now as
4484 itemtype2 and 3 are zero - so hero's life gets added to the counters */
4485
4486 /*
4487 Not sure who did that, but I implemented it in its own section, ignoring counter0] for now.
4488 It will need a format change to counter lists in order to allow stacking LIFE on other counters.
4489 For the present, counter 0 for item2 and item3 is NULL. -Z (26-Jan-2020)
4490 */
4491
4492
4493 34184206 add_ssc_ctr(itemtype1,infinite,value,false);
4494 //Re-implement item2 and item3 stacking counters. -Z 26-Jan-2020
4495
4/4
✓ Branch 0 taken 11999319 times.
✓ Branch 1 taken 22184887 times.
✓ Branch 2 taken 10725214 times.
✓ Branch 3 taken 11459673 times.
34184206 if ( /*get_qr(qrSTACKSUBSCREENCOUNTERS) || (*/( FFCore.getQuestHeaderInfo(vZelda) == 0x250 && FFCore.getQuestHeaderInfo(vBuild) >= 33 ) //this ishowit looks in 2.53.1, Beta 25
4496 34184206 || ( FFCore.getQuestHeaderInfo(vZelda) > 0x250 ) ) /*)*/
4497 {
4498 //add item2 and item3 values to item1 values
4499
2/2
✓ Branch 0 taken 2979102 times.
✓ Branch 1 taken 1489551 times.
25703635 for (int32_t i=1; i<3; ++i)
4500 {
4501
2/3
✗ Branch 0 not taken.
✓ Branch 1 taken 1489551 times.
✓ Branch 2 taken 1489551 times.
2979102 switch (i)
4502 {
4503 case 1:
4504 {
4505
2/2
✓ Branch 0 taken 493117 times.
✓ Branch 1 taken 996434 times.
1489551 if ( itemtypes[i] == itemtypes[i-1] )
4506 {
4507 493117 itemtype = -2;
4508 493117 break;
4509 }
4510 else
4511 {
4512 996434 itemtype=itemtype2;
4513 996434 break;
4514 }
4515 }
4516 case 2:
4517 {
4518
1/4
✗ Branch 0 not taken.
✓ Branch 1 taken 1489551 times.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
1489551 if ( ( itemtypes[i] == itemtypes[i-1] ) || ( itemtypes[i] == itemtypes[i-2] ) )
4519 {
4520 1489551 itemtype = -3;
4521 1489551 break;
4522 }
4523 else
4524 {
4525 itemtype=itemtype3;
4526 break;
4527 }
4528
4529 }
4530 }
4531 2979102 add_ssc_ctr(itemtype,infinite,value,true);
4532 2979102 }
4533 1489551 }
4534
4535 // (for loop) }
4536
5/6
✓ Branch 0 taken 1153880 times.
✓ Branch 1 taken 11795344 times.
✓ Branch 2 taken 990683 times.
✓ Branch 3 taken 163197 times.
✗ Branch 4 not taken.
✓ Branch 5 taken 990683 times.
12949224 if(!showzero&&!value&&!infinite)
4537 {
4538 990683 return;
4539 }
4540
4541
2/2
✓ Branch 0 taken 293392 times.
✓ Branch 1 taken 11665149 times.
11958541 if(infinite)
4542 {
4543 293392 sprintf(valstring, "%c", idigit);
4544 293392 }
4545 else
4546 {
4547 11665149 sprintf(valstring, formatstring, value);
4548 }
4549
4550 11958541 textout_styled_aligned_ex(dest,tempfont,valstring,x,y,textstyle,alignment,color,shadowcolor,bgcolor);
4551
4552 // putxnum(dest,x+8,y,game->get_rupies(),tempfont,color,shadowcolor,bgcolor,shadowed,usex,digits,0,idigit);
4553 14752567 }
4554
4555 8063382 void minimaptitle(BITMAP *dest, int32_t x, int32_t y, FONT *tempfont, int32_t color, int32_t shadowcolor, int32_t bgcolor, int32_t alignment, int32_t textstyle)
4556 {
4557 char dmaptitlesource[2][11];
4558 char dmaptitle[2][11];
4559 8063382 sprintf(dmaptitlesource[0], "%.10s", DMaps[get_currdmap()].title);
4560 8063382 sprintf(dmaptitlesource[1], "%.10s", DMaps[get_currdmap()].title+10);
4561
4562 8063382 int32_t title_len1=stripspaces(dmaptitlesource[0], dmaptitle[0], 10);
4563 8063382 int32_t title_len2=stripspaces(dmaptitlesource[1], dmaptitle[1], 10);
4564
4565
3/4
✓ Branch 0 taken 1035689 times.
✓ Branch 1 taken 7027693 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 1035689 times.
8063382 if((title_len1>0)||(title_len2>0))
4566 {
4567
3/4
✓ Branch 0 taken 7027693 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 4912257 times.
✓ Branch 3 taken 2115436 times.
7027693 if((title_len1>0)&&(title_len2>0))
4568 {
4569 2115436 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4570 2115436 textprintf_styled_aligned_ex(dest,tempfont,x,y,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4571 2115436 }
4572 else
4573 {
4574
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 4912257 times.
4912257 if(title_len1>0)
4575 {
4576 4912257 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[0]);
4577 4912257 }
4578 else
4579 {
4580 textprintf_styled_aligned_ex(dest,tempfont,x,y+8,textstyle,alignment,color,shadowcolor,bgcolor,"%s",dmaptitle[1]);
4581 }
4582 }
4583 7027693 }
4584 8063382 }
4585
4586 8804908 void put_passive_subscr(BITMAP *dest,int32_t x,int32_t y,bool showtime,int32_t pos2)
4587 {
4588 // uncomment this?
4589 // load_Sitems();
4590 8804908 Sitems.animate();
4591 8804908 update_subscr_items();
4592 8804908 BITMAP *subscr = create_sub_bitmap(dest,x,y,256,passive_subscreen_height);
4593
4594
2/2
✓ Branch 0 taken 40027 times.
✓ Branch 1 taken 8764881 times.
8804908 if(no_subscreen())
4595 {
4596 40027 clear_to_color(subscr,0);
4597 40027 destroy_bitmap(subscr);
4598 40027 return;
4599 }
4600
4601 8764881 show_custom_subscreen(subscr, current_subscreen_passive, 0, 0, showtime, pos2);
4602 8764881 destroy_bitmap(subscr);
4603 8804908 }
4604
4605 /*
4606 const byte tripiece[8*3] =
4607 {
4608 112,112,0, 128,112,1, 96,128,0, 144,128,1,
4609 112,128,2, 112,128,1, 128,128,3, 128,128,0
4610 };
4611 */
4612
4613 35067 void puttriframe(BITMAP *dest, int32_t x, int32_t y, int32_t triframecolor, int32_t numbercolor, int32_t triframetile, int32_t triframecset, int32_t triforcetile, int32_t triforcecset, bool showframe, bool showpieces, bool largepieces)
4614 {
4615
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35067 times.
35067 if(triframetile==0)
4616 {
4617 35067 triframetile=QMisc.colors.triframe_tile;
4618 35067 triframecset=QMisc.colors.triframe_cset;
4619 35067 }
4620
4621
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35067 times.
35067 if(triforcetile==0)
4622 {
4623 35067 triforcetile=QMisc.colors.triforce_tile;
4624 35067 triforcecset=QMisc.colors.triforce_cset;
4625 35067 }
4626
4627
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35067 times.
35067 if(!largepieces)
4628 {
4629
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35067 times.
35067 if(showframe)
4630 {
4631
2/2
✓ Branch 0 taken 28272 times.
✓ Branch 1 taken 6795 times.
35067 if(triframetile)
4632 {
4633 28272 draw_block(dest,x,y,triframetile,triframecset,6,3);
4634 28272 }
4635 else
4636 {
4637 6795 line(dest,x+47,y,x+1,y+46,triframecolor);
4638 6795 line(dest,x+48,y,x+94,y+46,triframecolor);
4639 6795 _allegro_hline(dest,x,y+47,x+95,triframecolor);
4640 6795 line(dest,x+47,y+7,x+15,y+39,triframecolor);
4641 6795 line(dest,x+48,y+7,x+80,y+39,triframecolor);
4642 6795 _allegro_hline(dest,x+15,y+40,x+80,triframecolor);
4643 }
4644 35067 }
4645
4646
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 35067 times.
35067 if(showpieces)
4647 {
4648
2/2
✓ Branch 0 taken 280536 times.
✓ Branch 1 taken 35067 times.
315603 for(int32_t i=0; i<8; i++)
4649 {
4650 280536 int32_t lvl = i+1;
4651
4652
4/4
✓ Branch 0 taken 168656 times.
✓ Branch 1 taken 111880 times.
✓ Branch 2 taken 84328 times.
✓ Branch 3 taken 84328 times.
280536 if(get_qr(qr_4TRI) && lvl>4)
4653 84328 lvl -= 4;
4654
4655
2/2
✓ Branch 0 taken 165046 times.
✓ Branch 1 taken 115490 times.
280536 if(has_item(itype_triforcepiece, lvl))
4656 {
4657 115490 int32_t tp=0;
4658
4659
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 431348 times.
431348 for(; tp<8; tp++)
4660
2/2
✓ Branch 0 taken 315858 times.
✓ Branch 1 taken 115490 times.
431348 if(QMisc.triforce[tp] == i+1)
4661 115490 break;
4662
4663 115490 overtile16(dest,triforcetile,x+tripiece[0][tp][0],y+tripiece[0][tp][1],triforcecset,tripiece[0][tp][2]);
4664 115490 }
4665 280536 }
4666 35067 }
4667 35067 }
4668 else
4669 {
4670 if(showframe)
4671 {
4672 if(triframetile)
4673 {
4674 draw_block(dest,x,y,triframetile,triframecset,7,7);
4675 }
4676 else
4677 {
4678 if(!get_qr(qr_4TRI))
4679 {
4680 //left inside vertical
4681 _allegro_vline(dest,x+31,y+56,y+103,triframecolor);
4682 _allegro_vline(dest,x+32,y+56,y+103,triframecolor);
4683
4684 //center inside vertical top
4685 _allegro_vline(dest,x+55,y+8 ,y+55,triframecolor);
4686 _allegro_vline(dest,x+56,y+8 ,y+55,triframecolor);
4687
4688 //right inside vertical
4689 _allegro_vline(dest,x+79,y+56,y+103,triframecolor);
4690 _allegro_vline(dest,x+80,y+56,y+103,triframecolor);
4691
4692 if(!get_qr(qr_3TRI))
4693 {
4694 //center inside vertical bottom
4695 _allegro_vline(dest,x+55,y+56,y+103,triframecolor);
4696 _allegro_vline(dest,x+56,y+56,y+103,triframecolor);
4697 }
4698 }
4699
4700 //middle inside horizontal
4701 _allegro_hline(dest,x+32,y+55,x+79,triframecolor);
4702 _allegro_hline(dest,x+32,y+56,x+79,triframecolor);
4703
4704 //bottom outside horizontal
4705 _allegro_hline(dest,x+8,y+103,x+103,triframecolor);
4706
4707 //left outside diagonal
4708 line(dest,x+8,y+103,x+55,y+8,triframecolor);
4709 line(dest,x+9,y+102,x+55,y+9,triframecolor);
4710
4711 //right outside diagonal
4712 line(dest,x+56,y+8,x+103,y+103,triframecolor);
4713 line(dest,x+56,y+9,x+102,y+102,triframecolor);
4714
4715 //left inside diagonal
4716 line(dest,x+32,y+56,x+55,y+103,triframecolor);
4717 line(dest,x+32,y+57,x+54,y+102,triframecolor);
4718 line(dest,x+32,y+55,x+55,y+102,triframecolor);
4719
4720 //right inside diagonal
4721 line(dest,x+56,y+103,x+79,y+56,triframecolor);
4722 line(dest,x+57,y+102,x+79,y+57,triframecolor);
4723 line(dest,x+56,y+102,x+79,y+55,triframecolor);
4724
4725 for(int32_t i=0; i<8; i++)
4726 {
4727 int32_t lvl = i+1;
4728
4729 if(get_qr(qr_4TRI) && lvl>4)
4730 {
4731 lvl -= 4;
4732 }
4733
4734 int32_t tp=0;
4735
4736 for(; tp<8; tp++)
4737 {
4738 if(QMisc.triforce[tp] == i+1)
4739 {
4740 break;
4741 }
4742 }
4743
4744 if(!has_item(itype_triforcepiece, lvl))
4745 {
4746 textprintf_ex(dest, get_zc_font(font_pfont), x+tripiece[1][tp][0]+((tripiece[1][tp][2]&1)?8:14),y+tripiece[1][tp][1]+((tripiece[1][tp][2]&2)?9:32), numbercolor, -1, "%d", lvl);
4747 }
4748 }
4749 }
4750 }
4751
4752 if(showpieces)
4753 {
4754 for(int32_t i=0; i<8; i++)
4755 {
4756 int32_t lvl = i+1;
4757
4758 if(get_qr(qr_4TRI) && lvl>4)
4759 {
4760 lvl -= 4;
4761 }
4762
4763 int32_t tp=0;
4764
4765 for(; tp<8; tp++)
4766 {
4767 if(QMisc.triforce[tp] == i+1)
4768 {
4769 break;
4770 }
4771 }
4772
4773 if(has_item(itype_triforcepiece, lvl))
4774 {
4775 draw_block_flip(dest,x+tripiece[1][tp][0]-(tripiece[1][tp][2]&1?0:8),y+tripiece[1][tp][1],triforcetile,triforcecset,2,3,tripiece[1][tp][2],1,0);
4776 }
4777 }
4778 }
4779 }
4780 35067 }
4781
4782
4783 void puttriforce(BITMAP *dest, int32_t x, int32_t y, int32_t tile, int32_t cset, int32_t w, int32_t h, int32_t flip, bool overlay, bool trans, int32_t trinum)
4784 {
4785 if(tile==0)
4786 {
4787 tile=QMisc.colors.triforce_tile;
4788 cset=QMisc.colors.triforce_cset;
4789 }
4790
4791 if(trinum <= 8)
4792 {
4793 for(int32_t i=0; i<8; i++)
4794 {
4795 int32_t lvl = i+1;
4796
4797 if(get_qr(qr_4TRI) && lvl>4)
4798 lvl -= 4;
4799
4800 if(lvl==trinum && has_item(itype_triforcepiece, lvl))
4801 {
4802 int32_t tp=0;
4803
4804 for(; tp<8; tp++)
4805 if(QMisc.triforce[tp] == i+1)
4806 break;
4807
4808 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4809 }
4810 }
4811 }
4812 else if(has_item(itype_triforcepiece, trinum))
4813 {
4814 draw_block_flip(dest,x,y,tile,cset,w,h,flip,overlay,trans);
4815 }
4816 }
4817
4818 /*
4819 const byte bmap[16*2] = {
4820 0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,
4821 0,3,0,0,0,3,0,0,0,0,3,0,0,0,3,0 };
4822
4823 const int32_t fringe[8] = { 6,2,4,7,6,8,7,5 };
4824
4825 const byte bmaptiles[8*5] = {
4826 0, 1, 2, 3, 2, 3, 3, 4,
4827 20,21,22,23,22,23,23,24,
4828 20,21,22,23,22,23,23,24,
4829 20,21,22,23,22,23,23,24,
4830 40,41,42,43,42,43,43,44 };
4831 */
4832
4833 void draw_block(BITMAP *dest,int32_t x,int32_t y,int32_t tile,int32_t cset,int32_t w,int32_t h);
4834 201210 void putBmap(BITMAP *dest, int32_t x, int32_t y,bool showmap, bool showrooms, bool showhero, int32_t roomcolor, int32_t herocolor, bool large)
4835 {
4836 201210 int32_t si=0;
4837
4838
2/2
✓ Branch 0 taken 123780 times.
✓ Branch 1 taken 77430 times.
201210 int32_t maptile=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_tile:DMaps[get_currdmap()].largemap_1_tile;
4839
2/2
✓ Branch 0 taken 123780 times.
✓ Branch 1 taken 77430 times.
201210 int32_t mapcset=has_item(itype_map, get_dlevel())?DMaps[get_currdmap()].largemap_2_cset:DMaps[get_currdmap()].largemap_1_cset;
4840
4841
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 201210 times.
201210 if(showmap)
4842 {
4843
2/2
✓ Branch 0 taken 6904 times.
✓ Branch 1 taken 194306 times.
201210 if(maptile)
4844 {
4845 6904 draw_block(dest,x,y,maptile,mapcset,large?9:7,5);
4846 6904 }
4847
3/4
✓ Branch 0 taken 101540 times.
✓ Branch 1 taken 92766 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 101540 times.
194306 else if(QMisc.colors.dungeon_map_tile||QMisc.colors.dungeon_map_tile)
4848 {
4849
2/2
✓ Branch 0 taken 463830 times.
✓ Branch 1 taken 92766 times.
556596 for(int32_t y2=0; y2<5; y2++)
4850 {
4851
2/2
✓ Branch 0 taken 3710640 times.
✓ Branch 1 taken 463830 times.
4174470 for(int32_t x2=0; x2<(large?8:6); x2++)
4852 {
4853
2/4
✗ Branch 0 not taken.
✓ Branch 1 taken 3710640 times.
✓ Branch 2 taken 3710640 times.
✗ Branch 3 not taken.
3710640 overtile16(dest,(QMisc.colors.dungeon_map_tile!=0?QMisc.colors.dungeon_map_tile:QMisc.colors.dungeon_map_tile)+(large?bmaptiles_original[y2][x2]:bmaptiles_bs[y2][x2]),x+(x2<<4),y+(y2<<4),QMisc.colors.dungeon_map_cset,0);
4854 //++si;
4855 3710640 }
4856 463830 }
4857 92766 }
4858 else
4859 {
4860 101540 BITMAP *bmp = create_bitmap_ex(8,8,8);
4861
4862
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 101540 times.
101540 if(!bmp)
4863 return;
4864
4865 101540 clear_bitmap(bmp);
4866
4867
2/2
✓ Branch 0 taken 812320 times.
✓ Branch 1 taken 101540 times.
913860 for(int32_t x2=0; x2<8; x2++)
4868 {
4869
2/2
✓ Branch 0 taken 4569300 times.
✓ Branch 1 taken 812320 times.
5381620 for(int32_t y2=8-fringe[x2]; y2<8; y2++)
4870 {
4871 4569300 putpixel(bmp,x2,y2,QMisc.colors.bmap_bg);
4872 4569300 }
4873 812320 }
4874
4875 101540 rectfill(dest,x,y,x+(large?127:95),y+79,QMisc.colors.bmap_bg);
4876
4877
2/2
✓ Branch 0 taken 203080 times.
✓ Branch 1 taken 101540 times.
304620 for(int32_t y2=0; y2<2; ++y2)
4878 {
4879
2/2
✓ Branch 0 taken 3249280 times.
✓ Branch 1 taken 203080 times.
3452360 for(int32_t x2=0; x2<(large?16:12); ++x2)
4880 {
4881
3/4
✓ Branch 0 taken 3249280 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 2436960 times.
✓ Branch 3 taken 812320 times.
3249280 if((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
4882 {
4883 812320 rectfill(dest,(x2<<3)+x,(y2*72)+y,(x2<<3)+x+7,(y2*72)+y+7,QMisc.colors.subscr_bg);
4884
4885
3/5
✓ Branch 0 taken 812320 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 406160 times.
✓ Branch 4 taken 406160 times.
812320 switch((large?bmap_original[y2][x2]:bmap_bs[y2][x2]))
4886 {
4887 case 3:
4888 406160 draw_sprite_v_flip(dest,bmp,(x2<<3)+x,(y2*72)+y);
4889 406160 break;
4890
4891 406160 case 1:
4892 default:
4893 406160 draw_sprite(dest,bmp,(x2<<3)+x,(y2*72)+y);
4894 406160 break;
4895 }
4896 812320 }
4897 3249280 }
4898 203080 }
4899
4900 101540 destroy_bitmap(bmp);
4901 }
4902 201210 }
4903
4904
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 201210 times.
201210 if(showrooms)
4905 {
4906
1/2
✓ Branch 0 taken 201210 times.
✗ Branch 1 not taken.
201210 if(roomcolor==-1)
4907 {
4908 roomcolor = QMisc.colors.bmap_fg;
4909 }
4910
4911 201210 si=(get_currdmap() << 7);
4912
4913
2/2
✓ Branch 0 taken 1609680 times.
✓ Branch 1 taken 201210 times.
1810890 for(int32_t y2=y+8; y2<y+72; y2+=8)
4914 {
4915
2/2
✓ Branch 0 taken 11931583 times.
✓ Branch 1 taken 1609680 times.
13541263 while(((unsigned)((si&0xF)-DMaps[get_currdmap()].xoff))>7)
4916 11931583 ++si;
4917 1609680 int32_t xoffs = DMaps[get_currdmap()].xoff;
4918
2/2
✓ Branch 0 taken 12484656 times.
✓ Branch 1 taken 1609680 times.
14094336 for(int32_t x2=x+(large?32:16)+(maptile?8:0); x2<x+(large?96:80)+(maptile?8:0); x2+=8)
4919 {
4920
2/2
✓ Branch 0 taken 12134672 times.
✓ Branch 1 taken 349984 times.
12484656 if(xoffs < 0)
4921 {
4922 349984 x2 += (8*-xoffs);
4923 349984 xoffs = 0;
4924 349984 }
4925
2/2
✓ Branch 0 taken 8616937 times.
✓ Branch 1 taken 3867719 times.
12484656 if(get_bmaps(si))
4926 {
4927 3867719 rectfill(dest,x2+1,y2+1,x2+6,y2+6,roomcolor);
4928
4929
2/2
✓ Branch 0 taken 2787136 times.
✓ Branch 1 taken 1080583 times.
3867719 if(get_bmaps(si)&1) _allegro_hline(dest,x2+3,y2, x2+4,roomcolor); //top door
4930
4931
2/2
✓ Branch 0 taken 2480165 times.
✓ Branch 1 taken 1387554 times.
3867719 if(get_bmaps(si)&2) _allegro_hline(dest,x2+3,y2+7,x2+4,roomcolor); //bottom door
4932
4933
2/2
✓ Branch 0 taken 2848115 times.
✓ Branch 1 taken 1019604 times.
3867719 if(get_bmaps(si)&4) _allegro_vline(dest,x2, y2+3,y2+4,roomcolor); //left door
4934
4935
2/2
✓ Branch 0 taken 2923188 times.
✓ Branch 1 taken 944531 times.
3867719 if(get_bmaps(si)&8) _allegro_vline(dest,x2+7,y2+3,y2+4,roomcolor); //right door
4936 3867719 }
4937
4938 12484656 ++si;
4939 12484656 }
4940
2/2
✓ Branch 0 taken 1259696 times.
✓ Branch 1 taken 349984 times.
1609680 if(DMaps[get_currdmap()].xoff < 0)
4941 {
4942 349984 si -= DMaps[get_currdmap()].xoff;
4943 349984 }
4944 1609680 }
4945 201210 }
4946
4947
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 201210 times.
201210 if(showhero)
4948 {
4949
2/2
✓ Branch 0 taken 19636 times.
✓ Branch 1 taken 181574 times.
201210 if(get_currscr()<MAPSCRSNORMAL)
4950 {
4951
1/2
✓ Branch 0 taken 181574 times.
✗ Branch 1 not taken.
181574 if(herocolor==-1)
4952 {
4953 herocolor=QMisc.colors.hero_dot;
4954 }
4955
4956
2/2
✓ Branch 0 taken 3340 times.
✓ Branch 1 taken 178234 times.
181574 int32_t xoff = (((DMaps[get_currdmap()].type&dmfTYPE)==dmOVERW) ? 0 : DMaps[get_currdmap()].xoff);
4957 181574 putdot(dest,(((get_homescr()&15)-xoff)<<3)+x+(large?34:18)+(maptile?8:0),((get_homescr()&0xF0)>>1)+y+11,herocolor);
4958 181574 }
4959 201210 }
4960 201210 }
4961
4962
4963 41747 void load_Sitems()
4964 {
4965 41747 Sitems.clear();
4966
4967 // HC Pieces
4968
2/2
✓ Branch 0 taken 9105 times.
✓ Branch 1 taken 32642 times.
41747 if(QMisc.colors.HCpieces_tile)
4969 {
4970 // item *HCP = new item((zfix)(inventory_x[5]-ofs),(zfix)y,MAXITEMS,0,0);
4971
4/8
✓ Branch 0 taken 32642 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 32642 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 32642 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 32642 times.
✗ Branch 7 not taken.
32642 item *HCP = new item((zfix)0,(zfix)0,(zfix)0,iHCPiece,0,0);
4972
4973
1/2
✗ Branch 0 not taken.
✓ Branch 1 taken 32642 times.
32642 if(HCP)
4974 {
4975 32642 int32_t hcpphc = game->get_hcp_per_hc();
4976
2/2
✓ Branch 0 taken 31846 times.
✓ Branch 1 taken 796 times.
32642 HCP->tile = QMisc.colors.HCpieces_tile + vbound(game->get_HCpieces(),0,hcpphc > 0 ? hcpphc-1 : 0);
4977 32642 HCP->o_tile = HCP->tile;
4978 32642 HCP->cs = QMisc.colors.HCpieces_cset;
4979 32642 HCP->frames = 0;
4980 32642 add_subscr_item(HCP);
4981 32642 }
4982 32642 }
4983
4984
2/2
✓ Branch 0 taken 31278 times.
✓ Branch 1 taken 10469 times.
41747 if(has_item(itype_map, get_dlevel()))
4985 {
4986
4/8
✓ Branch 0 taken 10469 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 10469 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 10469 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 10469 times.
✗ Branch 7 not taken.
10469 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iMap,0,0));
4987 10469 }
4988
4989
2/2
✓ Branch 0 taken 28806 times.
✓ Branch 1 taken 12941 times.
41747 if(has_item(itype_compass, get_dlevel()))
4990 {
4991
4/8
✓ Branch 0 taken 12941 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 12941 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 12941 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 12941 times.
✗ Branch 7 not taken.
12941 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iCompass,0,0));
4992 12941 }
4993
4994
2/2
✓ Branch 0 taken 37787 times.
✓ Branch 1 taken 3960 times.
41747 if(has_item(itype_bosskey, get_dlevel()))
4995 {
4996
4/8
✓ Branch 0 taken 3960 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 3960 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 3960 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 3960 times.
✗ Branch 7 not taken.
3960 add_subscr_item(new item((zfix)0,(zfix)0,(zfix)0,iBossKey,0,0));
4997 3960 }
4998
4999
2/2
✓ Branch 0 taken 41747 times.
✓ Branch 1 taken 21374464 times.
21416211 for(int32_t i=0; i<itype_max; i++)
5000 {
5001 //special case: ignore the dmap-specific items processed above. -DD
5002
6/6
✓ Branch 0 taken 21332717 times.
✓ Branch 1 taken 41747 times.
✓ Branch 2 taken 21290970 times.
✓ Branch 3 taken 41747 times.
✓ Branch 4 taken 41747 times.
✓ Branch 5 taken 21249223 times.
21374464 if(i == itype_map || i == itype_compass || i == itype_bosskey)
5003 125241 continue;
5004
5005 // Display the ring even if it has run out of magic.
5006
2/2
✓ Branch 0 taken 20680072 times.
✓ Branch 1 taken 569151 times.
21249223 if(current_item_id(i,false)>-1)
5007 {
5008 569151 int32_t j = current_item_id(i,false);
5009 //al_trace("About to check itemsbuf[j].tile in subscreen.cpp, line 4634, loop[%d]\n",j);
5010
2/2
✓ Branch 0 taken 14000 times.
✓ Branch 1 taken 555151 times.
569151 if(itemsbuf[j].tile)
5011
4/8
✓ Branch 0 taken 555151 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 555151 times.
✗ Branch 3 not taken.
✓ Branch 4 taken 555151 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 555151 times.
✗ Branch 7 not taken.
555151 add_subscr_item(new item((zfix)0, (zfix)0,(zfix)0,j,0,0));
5012 569151 }
5013 21249223 }
5014 //al_trace("Finished load_Sitems(%d)\n",0);
5015
5016 41747 new_sel=true;
5017 41747 }
5018
5019 31946 void update_subscreens(int32_t dmap)
5020 {
5021
2/2
✓ Branch 0 taken 29586 times.
✓ Branch 1 taken 2360 times.
31946 if(dmap<0)
5022 29586 dmap=get_currdmap();
5023
5024 31946 int32_t index=DMaps[dmap].active_subscreen;
5025
5026 31946 int32_t i=-1, j=0;
5027
5028
4/4
✓ Branch 0 taken 2682 times.
✓ Branch 1 taken 97213 times.
✓ Branch 2 taken 67949 times.
✓ Branch 3 taken 31946 times.
99895 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5029 {
5030
2/2
✓ Branch 0 taken 58380 times.
✓ Branch 1 taken 9569 times.
67949 if(custom_subscreen[j].ss_type==sstACTIVE)
5031 {
5032 58380 ++i;
5033 58380 }
5034
5035 67949 ++j;
5036 }
5037
5038 31946 current_subscreen_active=&custom_subscreen[j-1];
5039
5040 31946 index=DMaps[dmap].passive_subscreen;
5041
5042 31946 i=-1, j=0;
5043
5044
4/4
✓ Branch 0 taken 14226 times.
✓ Branch 1 taken 134096 times.
✓ Branch 2 taken 116376 times.
✓ Branch 3 taken 31946 times.
148322 while(custom_subscreen[j].objects[0].type!=ssoNULL&&i!=index)
5045 {
5046
2/2
✓ Branch 0 taken 65113 times.
✓ Branch 1 taken 51263 times.
116376 if(custom_subscreen[j].ss_type==sstPASSIVE)
5047 {
5048 51263 ++i;
5049 51263 }
5050
5051 116376 ++j;
5052 }
5053
5054 31946 current_subscreen_passive=&custom_subscreen[j-1];
5055 31946 }
5056
5057 124 int32_t ss_objects(subscreen_group *tempss)
5058 {
5059 124 int32_t i=0;
5060
5061
3/4
✗ Branch 0 not taken.
✓ Branch 1 taken 5363 times.
✓ Branch 2 taken 5239 times.
✓ Branch 3 taken 124 times.
5363 while(i<MAXSUBSCREENITEMS&&tempss->objects[i].type!=ssoNULL)
5062 {
5063 5239 ++i;
5064 }
5065
5066 124 return i;
5067 }
5068
5069
5070 124 void purge_blank_subscreen_objects(subscreen_group *tempss)
5071 {
5072 124 int32_t objects=ss_objects(tempss);
5073 subscreen_object tempsso;
5074
5075 //filter all the ssoNONE items to the end (yeah, bubble sort; sue me)
5076
2/2
✓ Branch 0 taken 5115 times.
✓ Branch 1 taken 124 times.
5239 for(int32_t j=0; j<objects-1; j++)
5077 {
5078
2/2
✓ Branch 0 taken 140151 times.
✓ Branch 1 taken 5115 times.
145266 for(int32_t k=0; k<objects-1-j; k++)
5079 {
5080
2/2
✓ Branch 0 taken 67382 times.
✓ Branch 1 taken 72769 times.
140151 if(tempss->objects[k].type==ssoNONE)
5081 {
5082 72769 tempsso=tempss->objects[k];
5083 72769 tempss->objects[k]=tempss->objects[k+1];
5084 72769 tempss->objects[k+1]=tempsso;
5085 72769 }
5086 140151 }
5087 5115 }
5088
5089 //NULL out the ssoNONE items
5090
2/2
✓ Branch 0 taken 5239 times.
✓ Branch 1 taken 124 times.
5363 for(int32_t j=0; j<objects; j++)
5091 {
5092
2/2
✓ Branch 0 taken 2952 times.
✓ Branch 1 taken 2287 times.
5239 if(tempss->objects[j].type==ssoNONE)
5093 {
5094 2287 tempss->objects[j].type=ssoNULL;
5095 2287 }
5096 5239 }
5097 124 }
5098
5099
5100
5101 int32_t get_alignment(subscreen_object *tempsso)
5102 {
5103 switch(tempsso->type)
5104 {
5105 case ssoTEXT:
5106 return tempsso->d2;
5107 break;
5108
5109 case ssoBSTIME:
5110 return sstaLEFT;
5111 break;
5112
5113 case ssoTIME:
5114 return sstaRIGHT;
5115 break;
5116
5117 case ssoSSTIME:
5118 return sstaRIGHT;
5119 break;
5120
5121 case ssoCOUNTER:
5122 return tempsso->d2;
5123 break;
5124
5125 case ssoMINIMAPTITLE:
5126 return tempsso->d2;
5127 break;
5128
5129 case ssoCURRENTITEMTEXT:
5130 case ssoCURRENTITEMNAME:
5131 case ssoSELECTEDITEMNAME:
5132 case ssoCURRENTITEMCLASSTEXT:
5133 case ssoCURRENTITEMCLASSNAME:
5134 case ssoSELECTEDITEMCLASSNAME:
5135 return sstaLEFT;
5136 break;
5137
5138 case ssoNONE:
5139 case sso2X2FRAME:
5140 case ssoLINE:
5141 case ssoRECT:
5142 case ssoMAGICMETER:
5143 case ssoLIFEMETER:
5144 case ssoBUTTONITEM:
5145 case ssoICON:
5146 case ssoCOUNTERS:
5147 case ssoMINIMAP:
5148 case ssoLARGEMAP:
5149 case ssoCLEAR:
5150 case ssoCURRENTITEM:
5151 case ssoITEM:
5152 case ssoTRIFRAME:
5153 case ssoTRIFORCE:
5154 case ssoTILEBLOCK:
5155 case ssoMINITILE:
5156 case ssoSELECTOR1:
5157 case ssoSELECTOR2:
5158 case ssoMAGICGAUGE:
5159 case ssoLIFEGAUGE:
5160 case ssoTEXTBOX:
5161 case ssoCURRENTITEMTILE:
5162 case ssoSELECTEDITEMTILE:
5163 default:
5164 return sstaLEFT;
5165 break;
5166 }
5167
5168 // return false;//UNREACHABLE
5169 }
5170
5171 //enum { sstsNORMAL, sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX, sstsMAX };
5172 // "None", "Shadow", "Shadow (U)","Shadow (O)", "Shadow (+)", "Shadow (X)", "Shadowed", "Shadowed (U)","Shadowed (O)","Shadowed (+)", "Shadowed (X)"
5173 //x-1
5174 //sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5175 //w+1
5176 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5177 //y-1
5178 //sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5179 //h+1
5180 //sstsSHADOW, sstsSHADOWU, sstsOUTLINE8, sstsOUTLINEPLUS, sstsOUTLINEX, sstsSHADOWED, sstsSHADOWEDU, sstsOUTLINED8, sstsOUTLINEDPLUS, sstsOUTLINEDX
5181
5182 int32_t sso_y(subscreen_object *tempsso)
5183 {
5184 int32_t y=0;
5185
5186 switch(tempsso->type)
5187 {
5188 case ssoLIFEMETER:
5189 y=tempsso->y+(tempsso->d2?0:(tempsso->d3?8:16));
5190 break;
5191
5192 case ssoNONE:
5193 case sso2X2FRAME:
5194 case ssoTEXT:
5195 case ssoLINE:
5196 case ssoRECT:
5197 case ssoBSTIME:
5198 case ssoTIME:
5199 case ssoSSTIME:
5200 case ssoMAGICMETER:
5201 case ssoBUTTONITEM:
5202 case ssoICON:
5203 case ssoCOUNTER:
5204 case ssoCOUNTERS:
5205 case ssoMINIMAPTITLE:
5206 case ssoMINIMAP:
5207 case ssoLARGEMAP:
5208 case ssoCLEAR:
5209 case ssoCURRENTITEM:
5210 case ssoITEM:
5211 case ssoTRIFRAME:
5212 case ssoTRIFORCE:
5213 case ssoTILEBLOCK:
5214 case ssoMINITILE:
5215 case ssoSELECTOR1:
5216 case ssoSELECTOR2:
5217 case ssoMAGICGAUGE:
5218 case ssoLIFEGAUGE:
5219 case ssoTEXTBOX:
5220 case ssoCURRENTITEMTILE:
5221 case ssoSELECTEDITEMTILE:
5222 case ssoCURRENTITEMTEXT:
5223 case ssoCURRENTITEMNAME:
5224 case ssoSELECTEDITEMNAME:
5225 case ssoCURRENTITEMCLASSTEXT:
5226 case ssoCURRENTITEMCLASSNAME:
5227 case ssoSELECTEDITEMCLASSNAME:
5228 y=tempsso->y;
5229 break;
5230
5231 default:
5232 y=(zc_oldrand()*1000)%64;
5233 break;
5234 }
5235
5236 switch(tempsso->type)
5237 {
5238 case ssoTEXT:
5239 case ssoBSTIME:
5240 case ssoTIME:
5241 case ssoSSTIME:
5242 case ssoCOUNTER:
5243 case ssoCOUNTERS:
5244 switch(tempsso->d3)
5245 {
5246 case sstsOUTLINE8:
5247 case sstsOUTLINEPLUS:
5248 case sstsOUTLINEX:
5249 case sstsOUTLINED8:
5250 case sstsOUTLINEDPLUS:
5251 case sstsOUTLINEDX:
5252 y-=1;
5253 break;
5254 }
5255
5256 break;
5257 }
5258
5259 return y;
5260 }
5261
5262 int32_t sso_x(subscreen_object *tempsso)
5263 {
5264 int32_t x=0;
5265
5266 switch(tempsso->type)
5267 {
5268 case ssoMAGICMETER:
5269 x=tempsso->x-10;
5270 break;
5271
5272 case ssoNONE:
5273 case sso2X2FRAME:
5274 case ssoTEXT:
5275 case ssoLINE:
5276 case ssoRECT:
5277 case ssoBSTIME:
5278 case ssoTIME:
5279 case ssoSSTIME:
5280 case ssoLIFEMETER:
5281 case ssoBUTTONITEM:
5282 case ssoICON:
5283 case ssoCOUNTER:
5284 case ssoCOUNTERS:
5285 case ssoMINIMAPTITLE:
5286 case ssoMINIMAP:
5287 case ssoLARGEMAP:
5288 case ssoCLEAR:
5289 case ssoCURRENTITEM:
5290 case ssoITEM:
5291 case ssoTRIFRAME:
5292 case ssoTRIFORCE:
5293 case ssoTILEBLOCK:
5294 case ssoMINITILE:
5295 case ssoSELECTOR1:
5296 case ssoSELECTOR2:
5297 case ssoMAGICGAUGE:
5298 case ssoLIFEGAUGE:
5299 case ssoTEXTBOX:
5300 case ssoCURRENTITEMTILE:
5301 case ssoSELECTEDITEMTILE:
5302 case ssoCURRENTITEMTEXT:
5303 case ssoCURRENTITEMNAME:
5304 case ssoSELECTEDITEMNAME:
5305 case ssoCURRENTITEMCLASSTEXT:
5306 case ssoCURRENTITEMCLASSNAME:
5307 case ssoSELECTEDITEMCLASSNAME:
5308 x=tempsso->x;
5309 break;
5310
5311 default:
5312 x=(zc_oldrand()*1000)%64;
5313 break;
5314 }
5315
5316 switch(tempsso->type)
5317 {
5318 case ssoTEXT:
5319 case ssoBSTIME:
5320 case ssoTIME:
5321 case ssoSSTIME:
5322 case ssoCOUNTER:
5323 case ssoCOUNTERS:
5324 switch(tempsso->d3)
5325 {
5326 case sstsSHADOWU:
5327 case sstsOUTLINE8:
5328 case sstsOUTLINEPLUS:
5329 case sstsOUTLINEX:
5330 case sstsSHADOWEDU:
5331 case sstsOUTLINED8:
5332 case sstsOUTLINEDPLUS:
5333 case sstsOUTLINEDX:
5334 x-=1;
5335 break;
5336 }
5337
5338 break;
5339 }
5340
5341 return x;
5342 }
5343
5344
5345
5346 int32_t sso_h(subscreen_object *tempsso)
5347 {
5348 int32_t h=0;
5349
5350 switch(tempsso->type)
5351 {
5352 case ssoNONE:
5353 h=5;
5354 break;
5355
5356 case sso2X2FRAME:
5357 h=tempsso->h*8;
5358 break;
5359
5360 case ssoTEXT:
5361 h=text_height(ss_font(tempsso->d1));
5362 break;
5363
5364 case ssoLINE:
5365 h=tempsso->h;
5366 break;
5367
5368 case ssoRECT:
5369 h=tempsso->h;
5370 break;
5371
5372 case ssoBSTIME:
5373 h=text_height(ss_font(tempsso->d1));
5374 break;
5375
5376 case ssoTIME:
5377 h=text_height(ss_font(tempsso->d1));
5378 break;
5379
5380 case ssoSSTIME:
5381 h=text_height(ss_font(tempsso->d1));
5382 break;
5383
5384 case ssoMAGICMETER:
5385 h=8;
5386 break;
5387
5388 case ssoLIFEMETER:
5389 h=tempsso->d3?24:16;
5390 break;
5391
5392 case ssoBUTTONITEM:
5393 h=16;
5394 break;
5395
5396 case ssoICON:
5397 h=8;
5398 break;
5399
5400 case ssoCOUNTER:
5401 h=text_height(ss_font(tempsso->d1));
5402 break;
5403
5404 case ssoCOUNTERS:
5405 h=32;
5406 break;
5407
5408 case ssoMINIMAPTITLE:
5409 h=16;
5410 break;
5411
5412 case ssoMINIMAP:
5413 h=48;
5414 break;
5415
5416 case ssoLARGEMAP:
5417 h=80;
5418 break;
5419
5420 case ssoCLEAR:
5421 h=5;
5422 break;
5423
5424 case ssoCURRENTITEM:
5425 h=16;
5426 break;
5427
5428 case ssoITEM:
5429 h=16;
5430 break;
5431
5432 case ssoTRIFRAME:
5433 h=16*((tempsso->d7)?7:3);
5434 break;
5435
5436 case ssoTRIFORCE:
5437 h=16;
5438 break;
5439
5440 case ssoTILEBLOCK:
5441 h=16*(tempsso->h);
5442 break;
5443
5444 case ssoMINITILE:
5445 h=8;
5446 break;
5447
5448 case ssoSELECTOR1:
5449 case ssoSELECTOR2:
5450 h=tempsso->d5?32:16;
5451 break;
5452
5453 case ssoMAGICGAUGE:
5454 h=8;
5455 break;
5456
5457 case ssoLIFEGAUGE:
5458 h=8;
5459 break;
5460
5461 case ssoTEXTBOX:
5462 h=tempsso->h;
5463 break;
5464
5465 case ssoCURRENTITEMTILE:
5466 h=16;
5467 break;
5468
5469 case ssoSELECTEDITEMTILE:
5470 h=16;
5471 break;
5472
5473 case ssoCURRENTITEMTEXT:
5474 h=16;
5475 break;
5476
5477 case ssoCURRENTITEMNAME:
5478 h=tempsso->h;
5479 break;
5480
5481 case ssoSELECTEDITEMNAME:
5482 h=tempsso->h;
5483 break;
5484
5485 case ssoCURRENTITEMCLASSTEXT:
5486 h=tempsso->h;
5487 break;
5488
5489 case ssoCURRENTITEMCLASSNAME:
5490 h=tempsso->h;
5491 break;
5492
5493 case ssoSELECTEDITEMCLASSNAME:
5494 h=tempsso->h;
5495 break;
5496
5497 default:
5498 h=(zc_oldrand()*1000)%64;
5499 break;
5500 }
5501
5502 switch(tempsso->type)
5503 {
5504 case ssoTEXT:
5505 case ssoBSTIME:
5506 case ssoTIME:
5507 case ssoSSTIME:
5508 case ssoCOUNTER:
5509 case ssoCOUNTERS:
5510 switch(tempsso->d3)
5511 {
5512 case sstsSHADOW:
5513 case sstsSHADOWU:
5514 case sstsOUTLINE8:
5515 case sstsOUTLINEPLUS:
5516 case sstsOUTLINEX:
5517 case sstsSHADOWED:
5518 case sstsSHADOWEDU:
5519 case sstsOUTLINED8:
5520 case sstsOUTLINEDPLUS:
5521 case sstsOUTLINEDX:
5522 h+=1;
5523 break;
5524 }
5525
5526 break;
5527 }
5528
5529 return h;
5530 }
5531
5532 int32_t sso_w(subscreen_object *tempsso)
5533 {
5534 int32_t w=0;
5535
5536 switch(tempsso->type)
5537 {
5538 case ssoNONE:
5539 w=5;
5540 break;
5541
5542 case sso2X2FRAME:
5543 w=tempsso->w*8;
5544 break;
5545
5546 case ssoTEXT:
5547 w=text_length(ss_font(tempsso->d1), (char *)tempsso->dp1);
5548 break;
5549
5550 case ssoLINE:
5551 w=tempsso->w;
5552 break;
5553
5554 case ssoRECT:
5555 w=tempsso->w;
5556 break;
5557
5558 case ssoBSTIME:
5559 w=text_length(ss_font(tempsso->d1), time_str_short2(game->get_time()));
5560 break;
5561
5562 case ssoTIME:
5563 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5564 break;
5565
5566 case ssoSSTIME:
5567 w=text_length(ss_font(tempsso->d1), time_str_med(game->get_time()));
5568 break;
5569
5570 case ssoMAGICMETER:
5571 w=82;
5572 break;
5573
5574 case ssoLIFEMETER:
5575 w=64;
5576 break;
5577
5578 case ssoBUTTONITEM:
5579 w=16;
5580 break;
5581
5582 case ssoICON:
5583 w=8;
5584 break;
5585
5586 case ssoCOUNTER:
5587 w=text_length(ss_font(tempsso->d1), "0")*tempsso->d4;
5588 break;
5589
5590 case ssoCOUNTERS:
5591 w=32;
5592 break;
5593
5594 case ssoMINIMAPTITLE:
5595 w=80;
5596 break;
5597
5598 case ssoMINIMAP:
5599 w=80;
5600 break;
5601
5602 case ssoLARGEMAP:
5603 w=16*((tempsso->d4)?9:7);
5604 break;
5605
5606 case ssoCLEAR:
5607 w=5;
5608 break;
5609
5610 case ssoCURRENTITEM:
5611 w=16;
5612 break;
5613
5614 case ssoITEM:
5615 w=16;
5616 break;
5617
5618 case ssoTRIFRAME:
5619 w=16*((tempsso->d7)?7:6);
5620 break;
5621
5622 case ssoTRIFORCE:
5623 w=16;
5624 break;
5625
5626 case ssoTILEBLOCK:
5627 w=16*(tempsso->w);
5628 break;
5629
5630 case ssoMINITILE:
5631 w=8;
5632 break;
5633
5634 case ssoSELECTOR1:
5635 case ssoSELECTOR2:
5636 w=tempsso->d5?32:16;
5637 break;
5638
5639 case ssoMAGICGAUGE:
5640 w=8;
5641 break;
5642
5643 case ssoLIFEGAUGE:
5644 w=8;
5645 break;
5646
5647 case ssoTEXTBOX:
5648 w=tempsso->w;
5649 break;
5650
5651 case ssoCURRENTITEMTILE:
5652 w=16;
5653 break;
5654
5655 case ssoSELECTEDITEMTILE:
5656 w=16;
5657 break;
5658
5659 case ssoCURRENTITEMTEXT:
5660 w=16;
5661 break;
5662
5663 case ssoCURRENTITEMNAME:
5664 w=tempsso->w;
5665 break;
5666
5667 case ssoSELECTEDITEMNAME:
5668 w=tempsso->w;
5669 break;
5670
5671 case ssoCURRENTITEMCLASSTEXT:
5672 w=tempsso->w;
5673 break;
5674
5675 case ssoCURRENTITEMCLASSNAME:
5676 w=tempsso->w;
5677 break;
5678
5679 case ssoSELECTEDITEMCLASSNAME:
5680 w=tempsso->w;
5681 break;
5682
5683 default:
5684 w=(zc_oldrand()*1000)%64;
5685 break;
5686 }
5687
5688 switch(tempsso->type)
5689 {
5690 case ssoTEXT:
5691 case ssoBSTIME:
5692 case ssoTIME:
5693 case ssoSSTIME:
5694 case ssoCOUNTER:
5695 case ssoCOUNTERS:
5696 switch(tempsso->d3)
5697 {
5698 case sstsSHADOW:
5699 case sstsSHADOWU:
5700 case sstsOUTLINE8:
5701 case sstsOUTLINEPLUS:
5702 case sstsOUTLINEX:
5703 case sstsSHADOWED:
5704 case sstsSHADOWEDU:
5705 case sstsOUTLINED8:
5706 case sstsOUTLINEDPLUS:
5707 case sstsOUTLINEDX:
5708 w+=1;
5709 break;
5710 }
5711
5712 break;
5713 }
5714
5715 return w;
5716 }
5717
5718 void sso_bounding_box(BITMAP *bmp, subscreen_group *tempss, int32_t index, int32_t color)
5719 {
5720 if(index<0)
5721 {
5722 return;
5723 }
5724
5725 int32_t x=sso_x(&tempss->objects[index]);
5726 int32_t y=sso_y(&tempss->objects[index]);
5727 int32_t w=sso_w(&tempss->objects[index]);
5728 int32_t h=sso_h(&tempss->objects[index]);
5729
5730 switch(get_alignment(&tempss->objects[index]))
5731 {
5732 case sstaCENTER:
5733 x-=(w/2);
5734 break;
5735
5736 case sstaRIGHT:
5737 x-=w;
5738 break;
5739
5740 case sstaLEFT:
5741 default:
5742 break;
5743 }
5744
5745 int32_t c=x+w/2;
5746 int32_t m=y+h/2;
5747 bool normalrect=true;
5748
5749 if(color==-1)
5750 {
5751 color=jwin_pal[jcTITLER];
5752 }
5753 else if(color==-2)
5754 {
5755 color=jwin_pal[jcTITLEL];
5756 }
5757
5758 //draw a bounding box around the current object
5759 if(normalrect)
5760 {
5761 rect(bmp, x, y, x+w-1, y+h-1, color);
5762 }
5763 else
5764 {
5765 rect(bmp, x-1, y-1, x+1, y+1, color);
5766 rect(bmp, x-1, y+h-2, x+1, y+h, color);
5767 rect(bmp, x+w-2, y-1, x+w, y+1, color);
5768 rect(bmp, x+w-2, y+h-2, x+w, y+h, color);
5769
5770 if(w>=9)
5771 {
5772 rect(bmp, c-1, y-1, c+1, y+1, color);
5773 rect(bmp, c-1, y+h-2, c+1, y+h, color);
5774 _allegro_hline(bmp, x+2, y, c-2, color);
5775 _allegro_hline(bmp, c+2, y, x+w-3, color);
5776 _allegro_hline(bmp, x+2, y+h-1, c-2, color);
5777 _allegro_hline(bmp, c+2, y+h-1, x+w-3, color);
5778 }
5779 else
5780 {
5781 _allegro_hline(bmp, x+2, y, x+w-3, color);
5782 _allegro_hline(bmp, x+2, y+h-1, x+w-3, color);
5783 }
5784
5785 if(h>=9)
5786 {
5787 rect(bmp, x-1, m-1, x+1, m+1, color);
5788 rect(bmp, x+w-2, m-1, x+w, m+1, color);
5789 _allegro_vline(bmp, x, y+2, m-2, color);
5790 _allegro_vline(bmp, x, m+2, y+h-3, color);
5791 _allegro_vline(bmp, x+w-1, y+2, m-2, color);
5792 _allegro_vline(bmp, x+w-1, m+2, y+h-3, color);
5793 }
5794 else
5795 {
5796 _allegro_vline(bmp, x, y+2, y+h-3, color);
5797 _allegro_vline(bmp, x+w-1, y+2, y+h-3, color);
5798 }
5799 }
5800 }
5801
5802
5803 9904099 int32_t scounter_to_ctr(int32_t ssc)
5804 {
5805
4/10
✗ Branch 0 not taken.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✗ Branch 3 not taken.
✓ Branch 4 taken 5969826 times.
✓ Branch 5 taken 1924885 times.
✓ Branch 6 taken 1026306 times.
✓ Branch 7 taken 983082 times.
✗ Branch 8 not taken.
✗ Branch 9 not taken.
9904099 switch(ssc)
5806 {
5807 5969826 case sscRUPEES: return crMONEY;
5808 1924885 case sscBOMBS: return crBOMBS;
5809 1026306 case sscSBOMBS: return crSBOMBS;
5810 983082 case sscARROWS: return crARROWS;
5811 case sscLIFE: return crLIFE;
5812 case sscMAGIC: return crMAGIC;
5813 case sscGENKEYMAGIC: case sscGENKEYNOMAGIC:
5814 case sscANYKEYMAGIC: case sscANYKEYNOMAGIC:
5815 return crKEYS;
5816 case sscSCRIPT1: case sscSCRIPT2: case sscSCRIPT3: case sscSCRIPT4: case sscSCRIPT5:
5817 case sscSCRIPT6: case sscSCRIPT7: case sscSCRIPT8: case sscSCRIPT9: case sscSCRIPT10:
5818 case sscSCRIPT11: case sscSCRIPT12: case sscSCRIPT13: case sscSCRIPT14: case sscSCRIPT15:
5819 case sscSCRIPT16: case sscSCRIPT17: case sscSCRIPT18: case sscSCRIPT19: case sscSCRIPT20:
5820 case sscSCRIPT21: case sscSCRIPT22: case sscSCRIPT23: case sscSCRIPT24: case sscSCRIPT25:
5821 return ssc-3;
5822 case sscSCRIPT26: case sscSCRIPT27: case sscSCRIPT28: case sscSCRIPT29: case sscSCRIPT30:
5823 case sscSCRIPT31: case sscSCRIPT32: case sscSCRIPT33: case sscSCRIPT34: case sscSCRIPT35:
5824 case sscSCRIPT36: case sscSCRIPT37: case sscSCRIPT38: case sscSCRIPT39: case sscSCRIPT40:
5825 case sscSCRIPT41: case sscSCRIPT42: case sscSCRIPT43: case sscSCRIPT44: case sscSCRIPT45:
5826 case sscSCRIPT46: case sscSCRIPT47: case sscSCRIPT48: case sscSCRIPT49: case sscSCRIPT50:
5827 case sscSCRIPT51: case sscSCRIPT52: case sscSCRIPT53: case sscSCRIPT54: case sscSCRIPT55:
5828 case sscSCRIPT56: case sscSCRIPT57: case sscSCRIPT58: case sscSCRIPT59: case sscSCRIPT60:
5829 case sscSCRIPT61: case sscSCRIPT62: case sscSCRIPT63: case sscSCRIPT64: case sscSCRIPT65:
5830 case sscSCRIPT66: case sscSCRIPT67: case sscSCRIPT68: case sscSCRIPT69: case sscSCRIPT70:
5831 case sscSCRIPT71: case sscSCRIPT72: case sscSCRIPT73: case sscSCRIPT74: case sscSCRIPT75:
5832 case sscSCRIPT76: case sscSCRIPT77: case sscSCRIPT78: case sscSCRIPT79: case sscSCRIPT80:
5833 case sscSCRIPT81: case sscSCRIPT82: case sscSCRIPT83: case sscSCRIPT84: case sscSCRIPT85:
5834 case sscSCRIPT86: case sscSCRIPT87: case sscSCRIPT88: case sscSCRIPT89: case sscSCRIPT90:
5835 case sscSCRIPT91: case sscSCRIPT92: case sscSCRIPT93: case sscSCRIPT94: case sscSCRIPT95:
5836 case sscSCRIPT96: case sscSCRIPT97: case sscSCRIPT98: case sscSCRIPT99: case sscSCRIPT100:
5837 return ssc-7;
5838 }
5839 return crNONE;
5840 9904099 }
5841
5842